🤖 Ghostwritten by Claude · Curated by Tom Hundley
This article was written by Claude and curated for publication by Tom Hundley.
One tool, four surfaces. Heres how to choose the right one for your workflow.
Claude Code started as a terminal utility. Its now an ecosystem. You can run it in your shell, through the Claude Desktop app, directly in your browser, or triggered by GitHub mentions. Same underlying engine, radically different workflows.
This guide breaks down each surface, when to use it, and how theyre converging into something greater than the sum of their parts.
| Surface | Best For | Key Advantage |
|---|---|---|
| CLI (Terminal) | Power users, scripting, CI/CD | Full control, Unix composability |
| Desktop App | Multi-session workflows, visual feedback | Parallel worktrees, native GUI |
| Web (Browser) | Quick tasks, no local setup | Cloud infrastructure, mobile access |
| GitHub Actions | PR automation, code review | Scales to dozens of parallel agents |
All four share the same core: Claudes agentic coding capabilities, MCP integration, subagent support, and codebase awareness. The difference is in how you interact with them.
The CLI is where Claude Code began, and it remains the most flexible option. As Anthropic describes it: Claude Code is not a product as much as its a Unix utility.
Claude Code CLI is an active collaborator that can:
It runs locally in your terminal and talks directly to model APIs without requiring a backend server or remote code index. Youre in control; it asks for permission before making changes.
Unix Composability: Because its a command-line tool, you can pipe data in and out, script it, and integrate it into existing workflows. Run it from cron jobs, CI pipelines, or wrapper scripts.
# Example: Generate a commit message from staged changes
git diff --staged | claude Write a commit message for these changesCLAUDE.md Context: Drop a CLAUDE.md file in your repository root, and Claude automatically loads it into context. Document your branch naming conventions, build commands, architecture decisions—anything Claude should know before it starts working.
Checkpoints: Every change creates an automatic checkpoint. Tap Esc twice or run /rewind to instantly restore previous states. This lets you pursue ambitious refactors knowing you can always roll back.
Searchable History: Press Ctrl+r to search through your prompt history, making it easy to reuse or modify previous commands.
Subagents: Delegate specialized tasks to lightweight Claude instances that run in parallel. Each subagent has its own context window, preventing pollution of the main agents memory.
# Run with custom subagents defined in JSON
claude --agents {backend: {description: API development}, frontend: {description: React components}}Built-in subagents include:
Hooks: Automatically trigger actions at specific points—run tests after code changes, lint before commits, notify on completion.
Background Tasks: Keep long-running processes (like dev servers) active without blocking Claudes progress on other work.
Claude Desktop bridges the gap between the terminal-first CLI and a visual interface. It runs Claude Code inside a native GUI while maintaining full access to your local filesystem and tools.
Heres the key insight: Claude Desktop now runs Claude Code sessions internally. Its not a separate, limited product—its a visual wrapper around the same agentic engine.
This means you get:
Claude Desktops standout capability is multi-session workflows using git worktrees. Each Claude Code session gets its own isolated worktree, allowing parallel work without conflicts.
Practical Example:
Youre building a feature that touches authentication, API routes, and frontend components. Instead of one massive context window, spin up three sessions:
feature/auth-refactor)feature/api-endpoints)feature/ui-updates)Each session works in isolation. When done, merge the branches. No context pollution, no stepping on each others toes.
Worktrees live in ~/.claude-worktrees by default (configurable in settings). If you have files typically gitignored (like .env configs) that should be available in worktrees, create a .worktreeinclude file specifying which ignored files to copy.
Claude Desktop is a full MCP (Model Context Protocol) client. This means you can extend it with:
MCP turns Claude Desktop from a chat interface into a genuine development environment hub.
Launched in November 2025, Claude Code on the web lets you delegate coding tasks directly from your browser—no terminal, no local installation.
Each session runs in its own sandbox with network and file restrictions. Git interactions go through a secure proxy service. You get real-time progress tracking and can steer Claudes direction as it works.
The web interface supports launching multiple coding sessions simultaneously. Test code, refactor projects, and debug scripts in parallel without switching environments.
The web version is ideal for:
Currently in research preview for:
The Claude Code GitHub Action brings AI-powered automation to your repository. Mention @claude in any PR or issue, and Claude can analyze code, implement fixes, and create pull requests.
The fastest path: open Claude Code CLI and run:
/install-github-appThis guides you through setting up the GitHub app and required secrets. Alternatively, install manually at https://github.com/apps/claude.
Interactive Code Assistant: Claude answers questions about code, architecture, and implementation directly in GitHub comments.
Automated Code Review: Analyzes PR changes and suggests improvements. Anthropic uses this internally and reports catching security vulnerabilities before they ship to production.
Feature Implementation: Mention @claude on an issue with a feature request. Claude spins up an isolated environment, implements the feature, and opens a PR.
Heres where GitHub Actions shine: you can run dozens of agents in parallel.
Each agent works in its own isolated container. Mention @claude on 20 issues, and 20 agents start working simultaneously, each creating a separate PR.
This is fundamentally different from running Claude locally. GitHub Actions provide:
AI agents make robust testing more critical, not less. Claude codes fast but still makes mistakes. Having Claude create PRs without automated verification isnt useful—its just technical debt generation.
Always pair Claude PRs with:
These four surfaces arent competing options—theyre complementary entry points into the same system.
@claude across multiple issues to parallelize implementationAll surfaces share:
Your .claude/ directory configurations work across CLI, Desktop, and GitHub Actions:
.claude/
├── settings.json # Model preferences, permissions
├── agents/ # Custom subagent definitions
└── mcp.json # MCP server configurations| Tier | Price | Access |
|---|---|---|
| Pro | $20/month | CLI, Desktop, Web, GitHub |
| Max 5x | ~$100/month | Higher limits, Opus access |
| Max 20x | ~$200/month | Heavy usage, extended context |
| API (Pay-per-use) | Variable | $3-5/M input, $15-25/M output tokens |
All paid tiers include access to all surfaces. The difference is rate limits and model access (Opus 4.5 requires Max tier).
For API-based usage:
Batch processing gets 50% discount. Prompt caching saves up to 90%.
Need maximum control?
└─ Yes → CLI
Running parallel sessions locally?
└─ Yes → Desktop
No local machine / quick task?
└─ Yes → Web
Automating across multiple issues/PRs?
└─ Yes → GitHub ActionsMost developers will use multiple surfaces depending on context:
The surfaces are converging. As Anthropics engineering team notes, they built Claude Code to be flexible, customizable, scriptable, and safe. The multi-surface approach serves that goal—same power, interface that fits your context.
Claude Code is an ecosystem, not just a CLI. Four surfaces (CLI, Desktop, Web, GitHub) provide different entry points to the same agentic engine.
Desktop now runs full Claude Code sessions. The convergence is real—its not a limited version, its a GUI for the same underlying system.
Git worktrees enable true parallel development. Desktops killer feature is running isolated Claude sessions on different branches simultaneously.
GitHub Actions scale beyond your machine. Dozens of agents, each in isolated containers, working your backlog in parallel.
Configuration is portable. CLAUDE.md, MCP settings, and subagent definitions follow you across surfaces.
Testing becomes more critical, not less. Autonomous agents need automated verification. Fast code without tests is just fast technical debt.
The future of AI-assisted development isnt picking one tool—its orchestrating many surfaces of the same intelligent system, matched to the task at hand.
This article is a live example of the AI-enabled content workflow we build for clients.
| Stage | Who | What |
|---|---|---|
| Research | Claude Opus 4.5 | Analyzed current industry data, studies, and expert sources |
| Curation | Tom Hundley | Directed focus, validated relevance, ensured strategic alignment |
| Drafting | Claude Opus 4.5 | Synthesized research into structured narrative |
| Fact-Check | Human + AI | All statistics linked to original sources below |
| Editorial | Tom Hundley | Final review for accuracy, tone, and value |
The result: Research-backed content in a fraction of the time, with full transparency and human accountability.
Were an AI enablement company. It would be strange if we didnt use AI to create content. But more importantly, we believe the future of professional content isnt AI vs. Human—its AI amplifying human expertise.
Every article we publish demonstrates the same workflow we help clients implement: AI handles the heavy lifting of research and drafting, humans provide direction, judgment, and accountability.
Want to build this capability for your team? Lets talk about AI enablement →
Discover more content: