DSH Plugins Marketplace

DSH Plugins

Plugins

/

dsh-oh-my-claude

d

dsh-oh-my-claude

Manifest valid

Claude Code CLI as an LLM provider for dsh: live model list, per-session resume, approval relay, images, a memory/rewind/changes panel, and workspaces on remote SSH boxes.

UI (client)hasBundlePatch

Oh My Claude

Claude Code, native inside dsh

Drive your logged-in Claude Code CLI as a first-class dsh provider: no API key, no extra services, no runtime dependencies.

npm version dsh Claude Code CLI TypeScript Bun Zero runtime dependencies

Built with AI assistance, and open to more. Contributions from AI coding agents are welcome; start with CONTRIBUTING.md.


Claude Code CLI as an LLM provider for dsh. Every request drives claude -p with stream-json in and out, so it uses whatever login, hooks, CLAUDE.md files, MCP servers and rate limits Claude Code already has. No API key needed. The plugin speaks the CLI's own protocol (the one the Agent SDK wraps) directly, so it has no runtime dependencies.

Tour

dsh's access shield in a Claude session: Plan, Ask, Accept edits, Auto, Don't ask and Bypass rows with dsh's own icons

The shield is dsh's own control. In a Claude session its rows become Claude's six permission modes, each labelled with the dsh access level it sets underneath.

the Oh My Claude panel switching between its Memory, Rewind, Changes and Asides tabs

One button beside the composer opens the whole plugin: Memory, Instructions, Rewind, Changes, MCP, Asides, Diagnostics, Tasks and Tune, plus a Restore tab while the session is still blank.

the Changes tab listing the working tree diff with per-file line counts the Asides tab with a side question expanded above the tab strip the MCP tab's add-server form, filled with a server name, command and argument list

dsh's footer stats row ending with the Claude session cost and cached token count

Cost and cached token count, two figures dsh cannot compute, join dsh's footer stats row. The pill turns orange once a session passes the spend line you set. The dollar figures are what the turns would cost at API rates; on a Claude subscription you are not billed them.

dsh's context ring popover with Claude plan windows and the CLI's own context breakdown the panel as a phone sheet above the composer

Plan usage and the CLI's own context breakdown live in dsh's context ring popover. On a phone the panel becomes a sheet.

dsh's Select Workspace Directory dialog with a box dropdown in its footer listing This box and an ssh box

Once an SSH box is saved, dsh's own Add workspace dialog gains a box dropdown: a folder on that box becomes a workspace here, and the session in it runs Claude Code there.

Shots by tools/playwright/tour.ts.

Install

You need the Claude Code CLI on PATH and logged in (claude --version works, claude opens without asking you to sign in), and dsh 0.1.5-rc.1 or newer. Nothing else: no API key, no Node build step.

dsh plugin --profile web add dsh-oh-my-claude                        # from npm
dsh plugin --profile web add github:lcestou/dsh-oh-my-claude         # or straight from the repository
systemctl --user restart dsh-web.service   # or restart `dsh web` however you run it

The package declares a dsh bundle, so dsh plugin add registers it in the profile by itself. After the restart, "Oh My Claude" appears in the model picker with the models your login can use. Pick one and chat.

If the picker lists it as Oh My Claude (not logged in), run claude auth login in a terminal on the box that runs dsh, or press Log in under Settings → Oh My Claude → Boxes.

When a newer version is on npm, an orange pill with the version number appears in Settings and on the panel's Runtime line; a click copies the update command. Details, and the one repair a dsh upgrade can call for, are under Plugin updates.

Optional, in ~/.dsh/settings.yaml:

agent-default-model:            # make Claude Code the default for new sessions
  provider: claude-code
  model: claude-fable-5-1
subagent-model-selection:       # let dsh subagents run on Claude Code too
  enabled: true
  allowedModels:
    - provider: claude-code
      model: claude-haiku-4-5

Working on the plugin itself? Start at docs/developing.md.

What you get

  1. Any Claude model your login can use, in dsh's own picker. Models
  2. Every dsh session resumes its Claude Code session, tool history included, and a terminal claude /resume sees the same one. Sessions
  3. Restart dsh without killing a running Claude turn. Restarts
  4. dsh's access shield sets Claude's six permission modes per session. Permission mode
  5. Claude's permission prompts, questions and plan reviews become dsh dialogs. Approvals
  6. One spark button opens Memory, Rewind, Changes, MCP and six more tabs. The panel
  7. Cost and cached tokens in dsh's footer, with a spend line that turns the pill orange. Cost pill
  8. Plan usage (5-hour, weekly, extra usage) in dsh's context ring. Plan usage
  9. Restore or import any past Claude transcript, from dsh or from a terminal. Session browser
  10. Claude's slash commands and skills show up in dsh's slash menu as /claude-<name>. Command bridge
  11. Claude gets dsh's subagents, jobs, goals and web search over MCP. dsh tools over MCP
  12. Edit CLAUDE.md, settings.json and MCP servers from the panel, on this box or a remote one. Instructions, settings.json editor, MCP
  13. Run Claude on another box over SSH, or mount several accounts. Remote boxes and accounts
  14. Report a problem with a redacted box report, copied or filed as an issue. Report a problem
  15. All the orange is a switch, per group, any colour. Claude look
  16. Pick what dsh adds to your prompts, with the size of each block on the label. dsh context

Defaults you never have to touch, such as secret redaction in tool results and surviving the CLI's own updates, are on How it works.

Configure

Plugin settings live under Settings → Oh My Claude, or as config: on the bundle row in the profile's cordis.patch.yml. Three keys people change first:

permissionMode: dsh      # follow the session's shield (default), or pin one of the CLI's six modes
spawn: keeper            # Claude outlives a dsh restart (default); node or dsh for a plain child
sshHost: ""              # "[user@]host" drives a claude on another machine over ssh

Every key, with its default, is in docs/configuration.md.

Remote boxes and accounts

Mount the plugin twice with different configDir values for two logins. List other boxes running dsh and this plugin under Settings → Oh My Claude → Boxes and jump between them. Or give a box a name and user@host and drive the claude there over SSH, with nothing on the far side but the CLI; Tailscale and WireGuard peers appear as hosts to pick from. All of it is on docs/remote.md.

Not covered

  • dsh's shell and file tools are not proxied (except bash for background jobs); Claude Code uses its own, under its own permission mode.
  • Claude Code sessions are not deleted when dsh sessions are.

Bugs and feedback

Found a bug, or something that reads wrong? Open an issue at github.com/lcestou/dsh-oh-my-claude/issues with the dsh and Claude Code versions (dsh --version, claude --version) and what you expected to see. Settings → Oh My Claude → Report a problem writes that report for you.

License

MIT.

Claude, Claude Code and the Claude spark mark are trademarks of Anthropic, PBC. This project is an independent dsh plugin that drives the Claude Code CLI you already have; it is not made, endorsed or supported by Anthropic. The spark is drawn here only to say which sessions and controls belong to Claude Code, in the way the CLI itself draws it.

Similar plugins

dsh-claude-cli

LLM provider that runs the locally installed Claude Code CLI as the model backend, so requests go through an existing Claude subscription instead of a metered API key; native tool calls are bridged ov

Models & ProvidersManifest valid

0

dsh plugin --profile web add dsh-claude-cli

Run the main session model on a local Claude Code subscription through the official Claude Agent SDK, taking over the llm/stream route for the claude-code provider, with token-level streaming, session

Models & ProvidersManifest valid

0

dsh plugin --profile web add dsh-claude-driver

by Norman-else

Run Claude Code as a first-class DSH conversation while preserving its native agent loop, tools, skills, hooks, and MCP integrations in DSH.

Workflow & AutomationManifest valid

5

MIT

TypeScript

Sep 12, 2026

dsh plugin --profile web add @norman-else/dsh-claude

by zhangjunjesse

Delegates a self-contained coding task to the local Claude Code subscription through the official Claude Agent SDK, and adds a session tab with live output, cost and remaining quota.

Tools & CapabilitiesManifest valid

3

MIT

TypeScript

Sep 7, 2026

dsh plugin --profile web add dsh-claude-code

Import local Codex CLI/Desktop, Claude Code CLI, and Claude Desktop conversations into DSH with project grouping, semantic history, and tool activity; bind an existing or replacement workspace and con

Sessions & MessagesManifest valid

0

dsh plugin --profile web add dsh-assembly.resume

Command Code LLM provider plugin adapted for DSH-Desktop 0.7.1: registers a commandcode route, with a live model catalog, reasoning-effort support, and real-time plan usage display.

Models & ProvidersManifest valid

0

dsh plugin --profile web add dsh-commandcode