AI Decision System
Replayable, offline-verifiable records for AI-assisted go/no-go decisions: experiment promotions, typed model answers and human-approved actions.
翻译准备中
The calm, terminal-first workspace for Claude Code — run claude, with files, Git, diffs & MCP on demand, and munu, a notch mascot that watches Claude for you. Local-only, no telemetry.
翻译准备中
取自仓库 README
正在加载完整 README。 以下为已保存的摘录。
Run Claude Code, then go do something else.
A terminal-first workspace for Claude Code — keep your real claude session, with checkpoints, live agents, diffs, Git, files, MCP & usage one keypress away.
And munu , a face in your notch — or pinned anywhere on screen — tells you the moment Claude needs you, even in a fullscreen app on another desktop.
macOS, Windows and Linux. Free, open source (MIT), no account, no telemetry.
Download · Website · Report a bug
One calm window — your real claude sessions front and center, with files, diffs, Git, MCP and usage on demand. A project per pane.查看完整 README ↗/rewind.Running Claude Code means living next to a terminal: alt-tabbing to read a diff, to commit, to check whether it's stuck on a [y/n]. DockTerm keeps that terminal central and brings the rest to you, so you can let Claude work and actually step away. Claude Code does the work; DockTerm is the calm window around it.
It keeps your real claude. It doesn't replace it. Unlike Claude Code GUIs that swap your terminal for a custom chat UI (Claudia/Opcode), DockTerm wraps your actual session and builds views around it. Nothing to relearn, and it stays compatible as Claude Code evolves.
| Raw terminal | Full IDE | Claude GUIs | DockTerm | |
|---|---|---|---|---|
Keeps your real claude session | ✅ | ✅ | ❌ replaces it | ✅ |
| Highlighted diff review of Claude's changes | ❌ | ✅ | ~ | ✅ |
Stage & commit without raw git | ❌ | ~ | ~ | ✅ |
| Tells you when Claude needs you (even fullscreen) | ❌ | ❌ | ❌ | ✅ munu |
| Shows Claude subagents while they run | ❌ | ❌ | ~ | ✅ |
| Checkpoints for the current Claude session | ❌ | ❌ | ~ | ✅ |
| Send selected terminal text back to Claude | manual | manual | ~ | ✅ |
| Real usage limits, pace & reset times at a glance | ❌ | ❌ | ❌ | ✅ |
| Stays out of the way | ✅ | ❌ heavy | ~ | ✅ |
| No telemetry, local-only | ~ | ❌ | ~ | ✅ |
A terminal alone can't show a highlighted diff of what Claude changed, or let you commit safely, or tell you Claude is waiting while you're in another window. Opening a full IDE to review three lines breaks the flow. DockTerm sits in between.
DockTerm reads Claude's state from the terminal output and shows it as munu, a small face near your menu bar (in the notch on a MacBook). At a glance you can tell whether Claude is working, finished, or waiting for a [y/n], even when DockTerm is behind another window. Sub-agents, background agents and team members show up as little munus too. When Claude pauses to ask permission, munu surfaces the prompt so you can answer with one click, including multi-choice and free-text answers, and never lose your flow. It infers everything from the terminal; it never auto-answers and never calls an API.
By default munu tucks into the notch, slides out on hover, and peeks for a few seconds when Claude's state changes. Prefer it always in view? Pin it and drag it anywhere on screen. It stays put and visible wherever you put it. On Windows and Linux it's a small auto-hiding (or pinned) pill at the top of the screen.
⌘R / Ctrl Shift R on any pane to read Claude's session as a clean conversation, with a working timer, permission prompts as buttons, and a composer for attachments, smart paste, / and @ menus, history and drafts. Hold the mic to talk through Claude's own voice mode. The real terminal keeps running underneath; press the shortcut again to go back.⌘. / Ctrl Shift .) that hides the top bar and side panels and leaves only your panes.claude / claude --resume, a checkpoint rail for the current conversation, and a Send to Claude selection toolbar for turning terminal text into a referenced prompt snippet.claude --resume to continue Claude's actual conversation.5h 11% by default) and a pop-out floating widget show your real rolling 5-hour and weekly percentages from Claude Code itself, with a reset countdown and warning colours. Show them as a percent, bar, ring or graph. An average pace marker (on by default, switchable) draws the point where your usage would be if you spent the window evenly: a tick on the ring and bar, a dashed line on the graph, a small arrow on the percent view. Until Claude has sent data it says "no data yet". Your own Claude settings and status line are never changed. Read locally; nothing leaves your machine.DockTerm does not replace Claude Code with a chat clone. It watches the real terminal and local Claude transcripts, then adds small workflow surfaces around them:
/rewind when you choose to restore.DockTerm uses the shortcuts you already know from each platform's default terminal, and never steals keys the shell needs (plain Ctrl C with nothing selected and Ctrl W always go to the shell).
| Action | macOS | Windows / Linux |
|---|---|---|
| New tab | ⌘T | Ctrl Shift T |
| New window | ⌘N | Ctrl Shift N |
| Close tab | ⌘W | Ctrl Shift W |
| Command palette | ⌘K | Ctrl Shift P |
| Open project | ⌘O | Ctrl Shift O |
Quick Open a file (fuzzy, Ctrl/⌘ Enter pastes its path) | ⌘P | Ctrl Shift L |
| Find in files | ⌘⇧F | Ctrl Shift F |
| Files / Git / Review panel | ⌘B / ⌘G / ⌘E | Ctrl Shift B / G / E |
| Chat mode for the focused pane | ⌘R | Ctrl Shift R |
| Zen mode | ⌘. | Ctrl Shift . |
| Compose a long prompt | ⌘⇧⏎ | Ctrl Shift Enter |
| Split right | ⌘D | Ctrl Shift D |
| MCP panel | ⌘⇧M | Ctrl Shift M |
| Mini terminal | ⌘J | Ctrl Shift J |
| Settings | ⌘, | Ctrl Shift , |
| Zoom in / out / reset | ⌘ + / − / 0 | Ctrl Shift + / − / 0 |
| Copy / paste | ⌘C / ⌘V | Ctrl Shift C / Ctrl Shift V (also Ctrl Insert / Shift Insert; on Windows, Ctrl V and Ctrl C with text selected too) |
| Copy the selection with the mouse |
macOS, with Homebrew:
brew install --cask munvard/dockterm/dockterm
Or download from Releases:
| System | File |
|---|---|
| macOS (Apple Silicon) | DockTerm-<version>-macOS-Apple-Silicon.dmg |
| macOS (Intel) | DockTerm-<version>-macOS-Intel.dmg |
| Windows 10/11 | DockTerm-<version>-Windows.exe |
| Linux (x86-64) | DockTerm-<version>-Linux.AppImage |
macOS builds are signed and notarized, so they open normally. Windows builds are unsigned for now. If SmartScreen appears, choose More info → Run anyway. Installs per-user, no admin. After that, DockTerm can keep itself up to date from inside the app.
DockTerm is built to be trusted with your code:
claude.~/.claude files, read-only: never message content, and nothing is uploaded.contextIsolation and sandbox are on; production loads over a custom protocol with a strict CSP and no remote content.~/.claude is a separate opt-in.~/.claude read-only; they do not modify, upload, or execute them.git call runs with core.hooksPath=, so a malicious repo's hooks can't execute.More in docs/SECURITY_MODEL.md.
Does my code or any data leave my machine?
No. DockTerm has no telemetry and never calls an AI of its own. Usage numbers come from your local ~/.claude files, read-only.
Do I keep using my normal claude?
Yes. DockTerm wraps your real Claude Code session in a real shell. Nothing to relearn, and it stays compatible as Claude Code evolves.
Are the usage percentages exact to my plan? Yes. They are the real 5-hour and weekly numbers that Claude Code itself reports, and the reset times come with them. Until Claude has sent data you see "no data yet" instead of a guess. DockTerm never changes your Claude settings or status line to get them.
Windows says "unknown publisher." The Windows build is unsigned for now: choose More info → Run anyway. macOS is signed and notarized.
Does munu ever answer Claude for me? Never. It only surfaces the prompt; you click. It infers state from the terminal and never calls an API.
git clone https://github.com/munvard/dockterm && cd dockterm
npm install
npm run dev # run with hot reload
npm test # unit tests (vitest)
npm run build # production bundles
Requires Node 22+. Architecture notes are in CONTRIBUTING.md.
Early but actively developed, used daily, and built and maintained with Claude Code itself. It's an Electron app, so the download is fairly large. macOS builds are notarized; Windows is unsigned for now. Bugs and rough edges are expected. Issues and PRs are welcome.
MIT. Built with Electron, xterm.js, Monaco, and simple-git.
⌘P / Ctrl Shift L) or any text in any file (⌘⇧F / Ctrl Shift F), including ignored folders when you ask. The index runs off the main thread and stays fast on 200k files.F2 rename, Delete), multi-select with ⌘/Ctrl/Shift, drag to move files and folders, inline new file and rename, duplicate, reveal the open file, collapse all, sort by name, type, date or size, hidden and ignored toggles, git status badges on files and parent folders, file-type icons, a breadcrumb for the open file, an instant inline filter, a context menu with copy path, copy relative path, open in terminal here and cd here, and each project remembers which folders were open. Monaco editor with a save-conflict guard, image and binary previews; drag a file or folder into a terminal to insert its path, and hold Alt while dragging to hand the real files to other apps.cd.⌘K / Ctrl Shift P to jump anywhere.⌘/Ctrl + / − / 0 to scale the whole UI.| right-click |
| right-click (on Windows, right-click with nothing selected pastes) |
| Scroll to top / bottom | ⌘↑ / ⌘↓ | Shift PageUp / PageDown |
| Summon / hide DockTerm (global) | `⌘⇧`` | `Ctrl Shift `` |