★ OverviewIntermediate9 min
Interface Comparison — CLI, Desktop, and Extension
Claude Code ships as three interfaces: CLI, Desktop app, and VS Code extension. They are complementary, not competing. Each has a workflow where it clearly wins.
Quick Reference
- →CLI: full feature set, scriptable, pipe mode, SSH/remote, CI/CD — the canonical interface
- →Desktop: multi-session sidebar, visual diff, Dispatch, Connectors, live preview — best for complex parallel work
- →VS Code extension: inline diffs in editor, Chrome extension auto-detection, stays in IDE flow
- →JetBrains plugin (Beta): IntelliJ, PyCharm, WebStorm — separate subscription, capability gap vs CLI
- →Use all three: they complement each other, workflow determines which wins
CLI — The Canonical Interface
The CLI is the full Claude Code experience. Every feature is available here: pipe mode, all startup flags, SSH remote development, CI/CD integration, worktrees, all keyboard shortcuts, and complete control over permissions and model settings.
- ▸Full feature set — no features are CLI-exclusive... except some are
- ▸Pipe mode: cat file.txt | claude -p 'analyze' — non-interactive, scriptable
- ▸JSON output: -p --output-format json for programmatic consumption
- ▸SSH/remote development: runs on any machine you can SSH to
- ▸CI/CD: non-interactive mode in GitHub Actions, Jenkins, etc.
- ▸Fine-grained flag control: every startup option available
- ▸All keyboard shortcuts: Ctrl+B, Ctrl+G, Ctrl+R, Esc+Esc, etc.
Some features are CLI-only
Pipe mode, certain hooks, worktree flags, and some advanced session management features are CLI-only and don't surface in IDE extensions. If you standardize your workflow on a non-CLI interface, run a capability gap audit first.