1653 words No Slides

4.12 Remote Connections — SSH and Cloud Environments

Course: Claude Code - Essentials Section: Claude Desktop App Video Length: 3-5 minutes Presenter: Daniel Treasure


Opening Hook

So far we've been running Claude Code against local files on your machine. But what if your project lives on a remote server? A staging box, a GPU workstation, a cloud dev environment? The desktop app now lets you SSH into remote machines and run Claude Code there — no tmux gymnastics required.


Key Talking Points

1. The Connection Dropdown

The desktop app has a connection selector (bottom-right of the prompt area) with three categories:

  • Local — your machine, the default. Everything runs here.
  • SSH — named connections to remote machines you configure. Claude Code runs on that machine.
  • Cloud environment — managed remote environments (Anthropic-hosted or third-party). Claude runs in a sandboxed cloud instance.

What to say: "This dropdown is the difference between coding on your laptop and coding on a beefy server 3,000 miles away. Same Claude Code experience, different machine doing the work."

What to show on screen: Click the connection dropdown. Show the three categories. Point out the SSH label, the gear icon for settings, and "Add SSH connection."

2. Why SSH Matters

  • Remote dev servers: Your team has a shared staging box with the real database, real config, real dependencies. SSH in, let Claude work on it directly.
  • GPU workstations: Training ML models? Your Mac doesn't have an A100, but the lab machine does. SSH in, Claude can run training scripts on the real hardware.
  • Production-adjacent debugging: SSH into a staging server that mirrors production. Claude can inspect logs, run diagnostics, test fixes — without touching prod.
  • Consistent environments: No more "works on my machine." SSH into the canonical dev environment everyone shares.

What to say: "The best part is Claude sees what the remote machine sees — the right Python version, the right packages, the right file paths. No 'works on my machine' surprises."

3. Setting Up an SSH Connection

  • Click the connection dropdown → "Add SSH connection"
  • Provide a name (e.g., "Staging Server", "GPU Box")
  • Enter the SSH host details (hostname/IP, port, username)
  • Choose authentication: SSH key (recommended) or password
  • Connection uses your existing ~/.ssh/config if configured — named hosts auto-appear
  • The gear icon lets you edit or remove saved connections

What to say: "If you've already got SSH hosts in your ~/.ssh/config, they'll show up automatically. If not, adding one takes about 30 seconds."

What to show on screen: 1. Click "Add SSH connection" 2. Walk through the dialog (name, host, auth) 3. Save and select it 4. Show Claude Code running on the remote machine

4. Cloud Environments

The dropdown also shows cloud environments — managed sandboxed instances that run Claude Code in the cloud rather than on your local machine or a server you manage.

  • Pre-configured development environments
  • No SSH setup required — Anthropic manages the connection
  • Useful for teams that want consistent, disposable dev boxes
  • May have different resource limits than local execution

What to say: "Cloud environments are like cloud IDEs — someone else manages the machine, you just code. Good for teams that want to standardize without managing servers."

5. What Changes When You're Remote

  • File access: Claude sees the remote filesystem, not your local one. /home/deploy/project on the server, not ~/project on your laptop.
  • Bash commands: Run on the remote machine. npm install, python train.py, docker compose up — all execute remotely.
  • Project selection: You pick from the remote machine's directories.
  • Permissions: Still apply per-session. Claude still asks before editing files or running commands.
  • Session history: Stored locally on your machine even though execution happens remotely.

What to say: "Everything you learned about Claude Code still applies. Same slash commands, same permissions, same workflow. The only difference is where the work happens."

6. SSH vs. Running Claude Over SSH Manually

Before this feature, people would SSH into a server and run claude from the terminal. That still works! But the desktop app approach has advantages:

  • No tmux/screen required to keep sessions alive
  • Desktop UI with full project browser, file previews, image support
  • Session management across connections (resume sessions on different machines)
  • Named connections you don't have to remember

What to say: "You can still SSH in and run claude from the command line — that's totally valid. This just wraps that in a nicer experience with the desktop UI."


Demo Plan

  1. Show the connection dropdown (30 sec)
  2. Open the desktop app
  3. Click the connection selector (bottom-right)
  4. Point out: Local (current), any SSH entries, Cloud environments
  5. Say: "Three ways to run — local, your servers, or the cloud"

  6. Add an SSH connection (1 min)

  7. Click "Add SSH connection"
  8. Enter a name (e.g., "Dev Server")
  9. Enter host details (use a real or staged server if available)
  10. Save the connection
  11. Show it appear in the dropdown

  12. Connect and work remotely (1.5 min)

  13. Select the SSH connection from the dropdown
  14. Wait for connection to establish
  15. Select a project on the remote machine
  16. Ask Claude to explore the project: "What's in this project? Show me the structure."
  17. Run a command: "Run the tests"
  18. Show that bash, file access, and editing all work on the remote machine

  19. Switch back to local (30 sec)

  20. Click the dropdown
  21. Select "Local"
  22. Show that you're back on your local filesystem
  23. Say: "Switching is instant. Work on your laptop, hop to the server, come back."

  24. Mention cloud environments (30 sec)

  25. Point out the Cloud section in the dropdown
  26. Briefly explain what they are
  27. Say: "If your team uses managed environments, they show up here too."

Code Examples & Commands

SSH config that auto-populates the dropdown:

# ~/.ssh/config
Host staging
  HostName 192.168.1.100
  User developer
  IdentityFile ~/.ssh/id_ed25519
  ServerAliveInterval 60

Host gpu-box
  HostName gpu.internal.company.com
  User ml-team
  IdentityFile ~/.ssh/gpu_key
  Port 2222

Common remote workflows after connecting:

# Claude sees the remote filesystem
> Show me the project structure

# Run remote commands
> Run the test suite
> Check the Docker containers
> Show me the nginx access logs from the last hour

# Edit remote files
> Fix the database connection string in config.py

Gotchas & Tips

  1. SSH keys are strongly recommended over passwords. Keys are faster, more secure, and don't require typing your password every time you reconnect.

  2. Your ~/.ssh/config is your friend. Named hosts auto-populate the dropdown. If you already have SSH configured for VS Code Remote or terminal use, it works here too.

  3. Network latency matters. If the server is far away or on a slow connection, Claude's file reads and bash commands will feel sluggish. The AI reasoning is still cloud-based either way — it's the tool execution that's remote.

  4. Permissions reset per connection. Switching from local to SSH starts a fresh permission context. Claude will ask again before running bash or editing files on the remote machine. This is intentional — different machines should have different trust levels.

  5. Watch your working directory. You're on the remote machine's filesystem now. /home/you/project is the server's directory, not yours. Don't get confused about which machine you're editing.

  6. SSH agent forwarding: If the remote machine needs to access GitHub or other services via SSH, make sure agent forwarding is enabled (ForwardAgent yes in SSH config) or the remote machine has its own keys.

  7. Firewall considerations: The desktop app needs to be able to SSH out from your machine. If you're behind a corporate firewall, you may need to configure a proxy or jump host.


Lead-out

Now you can use Claude Code anywhere your SSH key can reach — your laptop, a dev server, a cloud instance. The desktop app handles the connection; you just code. That wraps up the desktop app section. We've covered setup, the UI, projects, sessions, permissions, settings, CLI integration, Cowork, and now remote connections. Next up: troubleshooting when things don't go the way you planned.


Reference URLs

  • Claude Code Desktop App docs: https://code.claude.com/docs/en/desktop
  • SSH Config guide: https://man.openbsd.org/ssh_config
  • Announcement: https://x.com/amorriscode/status/2022442179789300064

Prep Reading

  • Test your SSH setup before filming: make sure you can ssh staging (or whatever host) from the terminal first
  • Have a small project on the remote machine ready for the demo
  • Review 4.5 (Local vs Cloud Execution) — this video builds on that conceptual foundation
  • The feature was announced Feb 13, 2026 by Anthony Morris on X — check for any updated docs or blog posts closer to filming

Relevant Articles & Posts

  • @amorriscode (Feb 13, 2026): "SSH support is now available for Claude Code on desktop. Connect to your remote machines and let Claude cook, TMUX optional." — The announcement tweet. Shows the connection dropdown with Local, SSH connections (named "HP Garage", "Xerox PARC"), and Cloud environments.
  • Check for an official Anthropic blog post — this feature is likely to get a write-up given the community interest in remote Claude Code workflows.
  • Previous community workarounds: claude-ssh-server MCP, tmux+ssh patterns, Tailscale tunnels — worth knowing what people did before this existed, as context for why native support matters.

Notes for Daniel: This is a straightforward feature walkthrough — no complex concepts, just "here's the dropdown, here's how to add a connection, here's what changes." The demo is the star of this video. If you can SSH into an actual remote machine live, that's ideal. If not, you could set up a local VM as a demo target. The key message is simplicity: same Claude Code, different machine, two clicks to switch.