Scenarios / A · Migration & onboarding
SYMPTOM · SCENARIO 01 · LIVE

Migrating from Claude Code / Codex

For users coming from Claude Code or Codex, this page covers two things: recreating your existing workflow in dsh (@file, annotations, fullscreen TUI), and importing your session history in full.

Pick where you're coming from to filter the prescriptions
I

Feature map: what you used, what replaces it

In Claude Code / Codex
The dsh equivalent
Fullscreen terminal UI, streaming output, Esc to roll back
dsh-cc-tui
@file references that pull workspace files into the prompt
dsh-at-file
Select text, annotate, then send (Codex-style)
dsh-annotation
Codex-style interface theme
dsh-skin
Searching old sessions
dsh-session-search
Importing Claude Code sessions and continuing them
dsh-chat-import
II

Recreating your workflow

Install only what you need
dsh-cc-tuiTop pick PENDING
A Claude Code-style fullscreen TUI. Streaming thought expansion, rollback controls, context/TPS indicators. Your muscle memory mostly carries over.
Permissions: Pending manual review · no network or exec dependency hintsMaintenance: Updated todaydsh.bundle declared — activates properlyCI, no testsFull audit report →
dsh plugin --profile web add github:ccch1mneyyy/dsh-cc-tui
Restart dsh after installing — per the official docs, "the plugin becomes active after restarting dsh"
dsh-at-fileInput habits PENDING
Codex-style @file references. Type @ to search workspace files and attach them to your prompt. Pairs with dsh-annotation (select-and-annotate) — worth installing together.
Permissions: Pending manual review · no network or exec dependency hintsMaintenance: Updated 29 days agodsh.bundle declared — activates properlyTests, no CIFull audit report →
dsh plugin --profile web add github:FSMargoo/dsh-at-file
Restart dsh after installing — per the official docs, "the plugin becomes active after restarting dsh"
dsh-annotationInput habits PENDING
Select text, annotate, send. The core input pattern for Codex users, from the dsh-external org. The audit found no tests or CI in the current version.
Permissions: Pending manual review · no network or exec dependency hintsMaintenance: Updated 15 days agodsh.bundle declared — activates properlyTests + CI presentFull audit report →
dsh plugin --profile web add github:dsh-external/dsh-annotation
Restart dsh after installing — per the official docs, "the plugin becomes active after restarting dsh"
dsh-skinAppearance PENDING
A Codex-style theme switcher. Purely visual, so low risk — but updates are infrequent, and major dsh releases may need an adaptation window. Check maintenance status before installing.
Permissions: Pending manual review · no network or exec dependency hintsMaintenance: Updated 42 days agodsh.bundle declared — activates properlyNo tests or CIFull audit report →
dsh plugin --profile web add github:KinGao294/dsh-skin
Restart dsh after installing — per the official docs, "the plugin becomes active after restarting dsh"
III

Bringing your session history

Old sessions don't get left behind
dsh-chat-importMigration core PASS
Imports session history from Claude Code, Codex, ChatGPT, Cursor and 8 other tools — tool calls and reasoning blocks included — as fully resumable dsh sessions, not read-only archives. Source files are never modified. The first plugin on this site to pass all four checks.
Permissions: Reads user-specified JSONL files only · no network access (reviewed 2026-08-14)Maintenance: Updated todaydsh.bundle declared — activates properlyTests + CI presentFull audit report →
dsh plugin --profile web add github:Nwflower/dsh-chat-import
Restart dsh after installing — per the official docs, "the plugin becomes active after restarting dsh"
dsh-session-searchCross-tool search WATCH
Search sessions across tools. Works without migrating anything. Caution: the audit found the current version does not declare dsh.bundle — per the official docs it won't activate after install. Watch for a fix, or follow the README's own instructions.
Permissions: Pending manual review · no network or exec dependency hintsMaintenance: Updated 47 days agodsh.bundle not declared — won't activate after installTests, no CIFull audit report →
dsh plugin --profile web add github:Tieboyh/dsh-session-search
Restart dsh after installing — per the official docs, "the plugin becomes active after restarting dsh"
IV

Common migration pitfalls

Sourced from the official docs and real audits

Installed but nothing happens? Check the dsh.bundle declaration

From the official docs: a package without a dsh.bundle declaration "still installs, but only as a plain dependency … and activates no layer". Our audits check for this — one plugin on this very page currently lacks the declaration, and its report is flagged red.

Use the install command from the official docs

The only current official flow is the package-spec form: dsh plugin --profile web add <npm-package | github:owner/repo> (use link: for local development). Other install forms that circulate in early write-ups no longer exist in the official docs and will fail. Release tracker →

Restart after installing

Plugin authors and the official docs agree: a plugin becomes active after restarting dsh. If nothing changes before a restart, that's expected — not a broken install.

V

Related scenarios

Audit data on this page collected 2026-09-30 · permission reviews in progress, updated as they complete Audit methodology
← BackScenarios · Triage