Tips

Install & get started · 17 min read · Updated 2026-07-30

Can I import my Cursor and Claude Code history into TabTin?

How to import conversation history from Cursor, Claude Code, Codex, and WorkBuddy—and what cannot be imported.

Yes. TabTin can read local data from Claude Code, Cursor, Codex, and WorkBuddy and import theirconversation historyinto TabTin, so you can continue here with any model, cross-device sync, tables, and Automations.

The most important distinction comes first:TabTin imports conversations, not configuration. Rule files, Skills, MCP settings, and model keys are not included. The sections below explain every boundary.


What can and cannot be imported

Included for each conversation:

  • Your messages and AI replies
  • AI thinking or reasoning summaries
  • Tool calls, arguments, and results (retained with truncation as described below)
  • Conversation title, creation and update times, and project directory
  • Sub-Agent branches, including Claude Code subagents, WorkBuddy delegations, and Cursor task sessions
  • Model, token usage, and Git branch when available

Not included:

What you might expect What actually happens
Rule files (CLAUDE.md,.cursor/rules,AGENTS.md) Not read or imported. Configure TabTin rules separately
Skills / custom commands Not read or imported
MCP server settings Not read or imported
Model API keys and subscription sign-in state Explicitly blocked from reading; see “Files the importer never touches” below
Checkpoints, file snapshots, and code-change history Not imported; the original tool's history remains untouched
Future incremental sync Not supported. Import is one-time, not continuous

In short:Import means bringing conversation history in as context, not cloning the entire working environment.


Supported tools and import coverage

Tool Imported Known gaps
Claude Code(including the Code tab in Claude Desktop, which uses the same data) Full conversations, thinking, tool calls and results, sub-Agents, Git branch, and token usage Forked branches import only their new segment without duplicating parent content. Conversations present only in the index after their body was cleaned up are skipped
Codex Full conversations, reasoning summaries, tool calls and output,apply_patch results, web searches, model name, and token usage Encrypted reasoning cannot be decoded; only summarized thinking is imported. Sub-Agents appear as separate conversations marked Sub-conversation
Cursor Full conversations, thinking, tool calls and results, and pasted images represented as placeholders Only conversations with a transcript file appear in the list. Some conversations visible in Cursor therefore cannot be imported. A few AI replies are stored by Cursor as [REDACTED]. TabTin recovers them from other sources where possible; otherwise it displays “Cursor did not preserve the body of this reply in its transcript.” Sub-Agents stay nested in the main conversation instead of flooding the list
WorkBuddy Full conversations, thinking, tool calls and results, sub-Agents, and images represented as placeholders Deleted conversations are skipped. WorkBuddy has no archive concept, so no archived label appears

The importer reads only local conversation history for these tools on this computer. It cannot access cloud history, so conversations from another computer must be imported on that computer.

Sign-in credentials are never touched. Files containing tokens, cookies, and keys are hard-coded into the importer's denylist and cannot be read under any circumstances. This is what the wizard means by “Credential files, including tokens, cookies, and keys, are never read.”

The importer is read-only throughout. For all four tool directories, the importer performszero writes: no changes, deletion, or movement. Your Cursor history remains exactly where it was after import.


Where to find import

There is onlyonevisual entry point:

  1. Open the TabTin desktop app and confirm that the top bar shows theOrganizationyou want to import into. Archives are stored by organization and cannot be moved afterwards
  2. In the left task rail, the entries are New task / Skill library / Automations / Import data
  3. Click Import data

If TabTin detects an installed tool with importable history,Import datahas asmall blue dot. The dot is intentionally subtle: it appears at most twice per sign-in and disappears for the session after you open Import data once.After one successful import, it never appears again. A missing dot does not mean detection failed; open Import data to check.

There is no popup, onboarding banner, or second entry in Settings.


Three steps

The progress bar at the top reads:Choose sources → Choose conversations → Import.

Step 1: Choose sources

The page begins with a diagram: Other local platforms on the left, an arrow labeled Read-only copy, and TabTin on the right. Below it is the message “Read and copy only. Original platform data is never changed”.

Four provider cards show what each tool has on this computer:“N working directories · M conversations · Last active X”. This step counts the index without reading conversation bodies, so it is fast.

  • An installed tool with no importable content is disabled and says “Installation detected, but no conversation history is available to import.”
  • If none have content, the page says “No importable conversation history detected.”

Select one or more sources and click Next.

Step 2: Choose conversations

This is the key step. Selection goes down to eachindividual conversation.

Time rangeappears in the upper left:7 days / 30 days / 90 days / All,the default is 30 days. Expand it if conversations are missing.

The center contains a three-level tree:Source → Working directory → Conversation. Every row is selectable, and parent checkboxes show selected, partially selected, or unselected states.

Each working directory shows its destination:

  • New workspace — TabTin does not yet have this directory
  • Merge into “Name” — TabTin already has a matching workspace. A Subdirectory label means the external directory is nested beneath it

A conversation row may be labeled Sub-conversation,Archived. Archived conversationsare included by default. There is no separate filter; deselect them manually if you do not want them.

Search working directories or conversation titles in the upper right. The toolbar includes three shortcuts:Select all / Select none / Try one import(selects the source's most recently active working directory and skips archived conversations).

A Safety card at the bottom contains a checkbox: “Redact suspected keys and credentials by default”,which is enabled by default. Keep it enabled. Redaction covers seven common formats:sk- keys,sk-ant-,Bearer xxx, JWT, GitHub tokens (ghp_ and others), AWS AKIA..., and assignments such as api_key= / password: patterns. Redaction keeps the first four and last two characters so you can still identify the key later.

The footer also updates in real time: “Selected conversations will go into N workspaces (X new, Y merged)”and, importantly:“This import does not grant Agent execution access to any directory. Confirm trust separately when work begins.”Importing does not hand a directory to Agent.

When ready, click Import N conversations.

Step 3: Import

The progress bar shows “Processing: directory” and Completed / Total. Import runs in the background, soyou can leave this page and keep using TabTin. A progress panel remains in the lower right. You can also Cancel import.

The result page shows:

Imported N external conversations into local archives (shown in a dedicated read-only view, not the standard conversation list; workspaces are created normally)

If any entries fail or are skipped, expand “View N failure details” to see the source, conversation, and reason for each item.

The lower-right of the result page has Remove this import. It removes this archive batch and any workspaces created by the import. Confirmation says: “This permanently deletes the imported conversations and messages and cannot be undone.”


Where imported content lives

This is the most confusing part, so here is the detail.

There are two destinations:

  1. Workspaces (synced to your TabTin account) —Each external project directory maps to a TabTin workspace named after that directory. Conversations without a recoverable source directory go into Default workspace.
  2. Conversation content (this computer only) —Stored as local archives in TabTin's data directory, separated by organization and never uploaded.

Conversation content does not go to the cloud. Only the workspace shell—directory path and name—syncs to your account. Conversation history stays local, does not appear automatically on another computer, and is invisible to teammates even inside a team organization.

How it appears in the app:

Imported conversationsdo not enter the standard conversation list. They appear beneath the matching workspace with an amber archive icon. Opening one does not reopen the old conversation; itstarts a special new conversation. The imported history is injected as context. A banner shows the source and original title, followed by “The content above is imported history for context. From here on, Tin can continue the work.”.

Only messages sent below that point use TabTin's normal conversation path. The injected history remains local.

Opening the same archive againreturns to the same conversation; it does not create another one.

To remove one archive, hover over its sidebar row and click the trash icon. Confirmation says: “Only the local imported copy will be removed. History in the original tool is unaffected.”


What is simplified during import

Import is not a pixel-perfect replica. Several deliberate simplifications are worth knowing:

  • Images are copied into the local archive for in-conversation preview. If the source image is missing, a placeholder remains [Image: filename]
  • Tool arguments and results retain a preview of up to 4,000 characters and are marked Truncated beyond that
  • Binary tool outputsuch as PDF streams or raw bytes is represented as “Binary tool output not imported”
  • A single message body is truncated above 100,000 characters
  • Suspected secrets are redacted by default
  • Empty conversations or conversations with only a title are skipped to avoid rows of Untitled / 0 messages in the sidebar
  • Imported user-message bubbles render read-only Markdown, including tables, code blocks, and links. New messages remain plain text

The reason is practical: reliably importing a conversation you can continue is more useful than stuffing every raw tool dump into it, especially when those dumps contain noisy data.


Three practical recommendations

What to do first when moving from Cursor or Claude Code

Do not import everything at once.

  1. First confirm the organization in the top bar—personal account or team organization. Archives are separated by organization and cannot be moved after import
  2. In step 2, click Try one importto import one project first
  3. Find its workspace in the sidebar, open the archive, and verify that the conversation renders correctly and continues with useful context
  4. If it looks good, return to Import data and set the range to 90 days or All to import the rest

How to coordinate a team migration

Import happensindependently on each person's computer. Archives are not uploaded and teammates cannot see one another's imports, so there is no admin-wide import. Teams only need to align on two things:

  1. Agree on the destination organization. Everyone should switch the top bar to the same team organization before opening Import data, or some archives will land in personal accounts and others in the team.
  2. Matching local directories merge automatically. If TabTin already has a workspace for the same directory on the same device, imported conversations attach to it instead ofnotbeing skipped as duplicates. There is no need to delete and recreate the workspace.

Rules, Skills, and MCP settings cannot be imported. Reconfigure them in TabTin, preferably once at organization level rather than separately for every member.

How to reconcile before and after import

  1. Record the source count: note “N working directories · M conversations” on the source card in step 1
  2. Record the selected count: in step 2, “Import K conversations” gives the baseline for this run
  3. Reconcile after import: the result page says “Imported X conversations into local archives.” It isnormalfor X to be lower than K; “View N failure details” explains each difference
  4. Common reasons for a difference: empty conversations are skipped, title-only conversations are skipped, or the same source conversation was imported before
  5. Finally, open each workspaceand confirm conversations appear under the expected project

One subtlety: “N failures” in the lower-right progress panelcounts only actual failures. Skipped items are excluded. Reimporting an existing batch may therefore show “0 succeeded, 0 failed.” Open details on the result page to see the actual reason.


FAQ

Can import change or damage my Cursor or Claude Code history?

No. Access to all four tool directories isstrictly read-only. The importer writes zero bytes. Your Cursor history remains intact, and deleting a TabTin archive removes only TabTin's copy.

Can rule files, Skills, and MCP settings be imported?

No. The current importer includes onlyconversation history.CLAUDE.md,.cursor/rules. Rule files, Skill definitions, and MCP server settings are not read and must be configured again in TabTin.

Are imported conversations uploaded? Can teammates see them?

Conversation contentis not uploaded. It exists only in TabTin's user data directory on this computer. Teammates cannot see it, even in a team organization. Only the workspace shell—directory path and name—syncs to your account.

This also means itdoes not appear on another computer; import again on the new computer.

Does “Merge into workspace” in the preview really attach it there?

Yes. When step 2 says “Merge into X,” import attaches conversations to that existing workspace through an exact same-device, same-directory match. It does not skip them as duplicates or change existing trust settings.

The only remaining skip case is:the same source conversation was already imported(one-time semantics, explained next).

Will importing the same batch again duplicate or overwrite it?

Neither. Import usesone-timesemantics. If a source conversation already has an archive, another import is rejected and marked Skipped with the detail Conversation already imported (one-time). Delete the corresponding workspace or local archive to import it again.

To start over, first delete the local archive using its sidebar trash icon or delete the workspace.

How do I undo an import into the wrong organization?

  • Still on the result page: click Remove this importto delete the archive batch and all workspaces created by this import
  • After closing the page: find each archive in the sidebar, hover, and delete it with the trash icon
  • Delete the entire workspace: imported archives beneath it are removed together

Deletion affects only TabTin's copy. History in the source tool remains untouched.

My installed tool is not detected, or its count is zero

Check these causes in order:

  1. The conversations are not on this computer—import reads local files only and cannot see cloud history
  2. The default directory was changed—Claude Code honors CLAUDE_CONFIG_DIR, and Codex honors CODEX_HOME. The other tool paths are fixed, so moved data cannot be found
  3. Cursor is running and its database is locked—the card says “state.vscdb exists but composerHeaders count is 0 (database locked, timeout, or incompatible version).” Close Cursor and open Import data again
  4. The tool version is too old—very early Codex versions do not have state_5.sqlite, which appears as “Possibly a very early version.” Older Cursor versions without the new index table use a fallback and may expose fewer conversations
  5. There is no history—an installed but unused WorkBuddy shows “WorkBuddy is installed, but this computer has no conversation history to import”

Cursor has many conversations, but the import list shows fewer

Only Cursor conversations with apreserved transcript fileappear in the import list. Without a transcript, import would create an empty shell with a title and zero messages, so these are filtered intentionally rather than filling the sidebar with unusable conversations.

Why did images or tool output become one line of text?

Tool arguments and results are deliberately simplified to a 4,000-character preview. Binary output becomes “Binary tool output not imported.”

Images: new imports copy screenshots into the local archive for direct preview. A placeholder appears only if the source file is missing [Image: filename] . Older archives imported before this behavior may still show placeholders; delete and reimport that archive.

Why did a Cursor table become a vertical list after import?

Imported user messages render as Markdown, including tables. If the source stored one cell per line as plain text—for example, after an Excel paste lost table structure—import cannot reconstruct a table that was never preserved. This is source data, not a rendering failure.

Are archived conversations imported? How do I exclude them?

They are included, and the interface hasno separate switch. Archived rows have an Archived suffix; deselect them manually. Try one import also skips archived conversations automatically.

Import is slow or appears stuck

A Cursor database may be tens of gigabytes, and scanning and parsing a large database takes time. Import runs in the background—leave the page and keep using TabTin. The lower-right progress panel updates when it finishes. To stop, click Cancel import. Already imported content remains and can be removed with Remove this import.


Still stuck?

Take a screenshot of the stuck step or Failure details on the result page and send it to contact@larchiveai.com. Include the source tool and approximate conversation count so we can diagnose it faster.