Skip to main content
Generalmarkus41

runtime-selection

Execution environment selection guide — helps choose between local CLI, Desktop, web, remote SSH, cloud tasks, and cowork sessions based on task requirements. Decision matrix with concrete examples.

Stars
12
Source
markus41/claude
Updated
2026-05-11
Slug
markus41--claude--runtime-selection
View on GitHubRaw SKILL.md

// install — copy + paste into any project

mkdir -p .claude/skills && curl -fsSL https://raw.githubusercontent.com/markus41/claude/HEAD/plugins/claude-code-expert/archive/v7.6.0/skills/runtime-selection/SKILL.md -o .claude/skills/runtime-selection.md

Drops the SKILL.md into .claude/skills/runtime-selection.md. Works with Claude Code, Cursor, and any agent that loads SKILL.md files from .claude/skills/.

Runtime Selection Guide

Claude Code runs in multiple environments. Choosing the wrong one wastes time. This guide gives you a decision matrix and concrete examples for each runtime.

Quick Decision Matrix

Need Use
Local files + git + full toolchain CLI (terminal) or Desktop
Long-running background work, no machine required Cloud Scheduled Task
GUI interaction, visual testing, native apps Desktop + Computer Use
Pair programming with a colleague Cowork (Web)
SSH into a remote server SSH session
Quick Q&A without a project Web (claude.ai/code)
Recurring autonomous engineering Desktop Task or Cloud Task
CI/CD pipelines GitHub Actions (headless)

Runtime 1: CLI (Terminal)

Best for: Most day-to-day coding work.

Has access to: Local files, all local MCP servers, git, project toolchain, ~/.claude/ config.

Invocation:

claude                    # Interactive REPL
claude "fix the auth bug" # One-shot
claude --print "explain this" > output.md  # Headless, pipe output

Choose CLI when:

  • You need to read, write, or run local files
  • You need local MCP servers (postgres, filesystem, etc.)
  • You're doing active development and want to steer Claude in real time
  • You need full toolchain access (custom scripts, local Docker, etc.)

Runtime 2: Claude Desktop App

Best for: Background tasks, GUI automation, persistent scheduled tasks, and working without a terminal.

Has access to: Everything CLI has, plus computer use (GUI), Desktop-specific scheduled tasks, and a more polished UI.

Invocation: Open the Desktop app. Start a conversation or create a scheduled task.

Choose Desktop when:

  • You want to schedule recurring tasks (runs even when you close the conversation)
  • You need computer use / GUI automation (click, type, screenshot)
  • You prefer a visual interface over terminal
  • You want persistent conversations that survive restarts

Desktop vs CLI:

CLI Desktop
Scheduled tasks Session-scoped /loop only Persistent, survive restarts
Computer use No Yes
Local MCP Yes Yes
Background while you work No Yes

Runtime 3: Web (claude.ai/code)

Best for: Tasks that don't need local files, collaborative review, or starting a session on any machine.

Has access to: MCP connectors you configure, GitHub (via connector), no local filesystem.

Invocation: Visit claude.ai/code in a browser.

Choose Web when:

  • You're away from your dev machine
  • The task only needs GitHub, Jira, or other cloud connectors
  • You want to share a session with a colleague (Cowork)
  • You're doing documentation, planning, or architectural review without code changes

Limitation: Cannot access local files, local MCP servers, or local toolchain.


Runtime 4: Cowork (Collaborative Web Session)

Best for: Real-time collaboration — pair programming, architecture review, team debugging.

Has access to: Same as Web. Both participants see Claude's actions in real time.

Invocation: Start a Web session, invite a colleague via shared URL.

Choose Cowork when:

  • You're pair programming and both need to steer Claude
  • You're doing a joint architecture review
  • You want a colleague to see Claude's reasoning in real time
  • Remote team needs to review Claude's PR suggestions together

Runtime 5: SSH Session

Best for: Working on a remote server (cloud VM, staging environment, production read-only access).

Has access to: Files and toolchain on the remote machine. Claude Code CLI installed remotely.

Invocation:

ssh user@remote-server
claude  # runs on the remote machine

Or with VS Code Remote:

Open Remote-SSH connection in VS Code
Claude Code extension runs on the remote machine

Choose SSH when:

  • You need to work directly on a remote server's files
  • The toolchain only exists on the remote machine (custom build environment)
  • You need to inspect production logs or configs without transferring them locally
  • You're debugging a staging/production-specific issue

Runtime 6: Cloud Scheduled Tasks

Best for: Autonomous recurring work that must run without your machine or session.

Has access to: Fresh repo clone via GitHub connector. No local files. Configured connectors only.

Choose Cloud Scheduled Tasks when:

  • The task needs to run overnight, on weekends, or while you're away
  • The work is read-only or only writes via GitHub API (PRs, comments, issues)
  • You need true "set and forget" automation
  • Minimum 1-hour interval is acceptable

Comparison to Desktop tasks:

Desktop Task Cloud Task
Requires machine on Yes No
Local files Yes No (fresh clone only)
Local MCP servers Yes No
Minimum interval 1 minute 1 hour
Persists across restarts Yes Yes (cloud-managed)

Runtime 7: GitHub Actions (Headless CI)

Best for: PR-triggered automation, commit hooks, deployment workflows.

Has access to: Actions runner environment (fresh clone, secrets, GitHub API).

Choose GitHub Actions when:

  • You want Claude to run on every PR (automated review, test generation)
  • You need Claude integrated into your existing CI/CD pipeline
  • You want cost control with per-run billing vs. always-on tasks
  • The trigger is a GitHub event (push, PR open, schedule)

Quick setup:

- name: Claude PR Review
  uses: anthropics/claude-code-action@beta
  with:
    prompt: "Review this PR for security and correctness issues"
    allowed_tools: "Bash,Read,Grep"

Decision Flowchart

Do you need local files or toolchain?
├── Yes → Local required
│   ├── Need GUI / computer use? → Desktop
│   ├── Need recurring background task? → Desktop Scheduled Task
│   └── Just coding? → CLI
└── No → Cloud ok
    ├── Need collaboration? → Web + Cowork
    ├── Need recurring autonomous work? → Cloud Scheduled Task
    ├── Triggered by git events? → GitHub Actions
    ├── On a remote server? → SSH
    └── Quick Q&A? → Web

Use /cc-schedule for Automation Decisions

For tasks involving scheduling, /cc-schedule generates optimized prompts for Desktop, Cloud, or /loop based on the task type. It handles the choice automatically for 6 common maintenance workflows.