What is a remote coding session?

An active development environment running on a machine other than the one in front of you, accessed over a network connection.

A remote coding session is an active development environment — code, terminal, running processes — hosted on a machine other than the one you're physically using. You interact with it over a network connection rather than locally.

TL;DR

  • A remote coding session runs on a separate machine, not your local laptop
  • You access it over a network — SSH, a web interface, or a purpose-built client
  • In the context of AI agents, the "session" includes the agent's running process, not just a terminal
  • Remote coding sessions can be persistent (always-on servers) or transient (spun up for a task)
  • Grass connects to remote coding sessions hosting AI agents and makes them accessible from your phone

What counts as a remote coding session?

A remote coding session is any active development environment that isn't running on the machine directly in front of you. The code executes on a remote machine — a cloud server, a teammate's workstation, a transient dev server — and you interact with it through a client.

The most familiar form is an SSH session: you open a terminal, connect to a remote server, and work inside it as if it were local. Tools like VS Code Remote SSH extend this to a full editor experience hosted on the remote machine.

In the context of AI coding agents, a remote coding session means the agent itself is running on a remote machine. The agent's process — its file reads, code writes, test runs — all happen on that remote machine. You're not watching a local process; you're connected to one running elsewhere.

Common ways to host a remote coding session include: a Daytona workspace, a GitHub Codespace, a cloud VM (AWS, GCP, DigitalOcean), or a machine left running at the office.

Why remote coding sessions matter for AI agents

AI coding agents like Claude Code run as long-lived processes. A single task can involve hundreds of file operations, multiple test runs, and several decision points over 20–40 minutes of continuous execution. Running that process locally means tying up your laptop for the duration.

Remote coding sessions solve that. When an agent runs on a remote machine:

Your laptop stays free. The agent's compute happens elsewhere. You can close your laptop, let the battery charge, use it for something else.

The session persists independently. A dropped network connection doesn't kill the agent. The remote process keeps running. You reconnect when you're ready.

Multiple sessions run in parallel. You can have five agents running on five separate remote machines simultaneously, none of them competing for local resources.

For developers running long autonomous agent tasks, remote sessions are what make extended, parallel agent work practical.

How are remote coding sessions different from transient dev servers?

These terms are related but not identical. A remote coding session describes the interaction pattern — you're accessing a development environment on another machine. A transient dev server describes the infrastructure — a short-lived cloud environment that exists only for the duration of a task.

A transient dev server hosts a remote coding session. But remote coding sessions also exist on persistent machines — an always-on cloud VM, a workstation left running at the office, a co-located server. The session is remote in both cases; only the server's lifecycle differs.

How does Grass extend remote coding sessions to mobile?

Grass extends remote coding sessions to mobile. When an AI agent is running in a remote coding session — whether on a persistent server or a transient dev server like Daytona — Grass gives you mobile coding agent access to that session from your phone.

The distinction from a traditional remote access tool like SSH is important: Grass isn't a general-purpose terminal. It's purpose-built for the AI agent workflow — surfacing the agent's output, queuing agent approval gates, and giving you the specific controls you need to keep an agent unblocked, without exposing the full complexity of the underlying remote session.

Related concepts

Mobile coding agent accessMobile coding agent access is the ability to monitor and control an AI coding agent from a phone. A remote coding session is what makes that possible when the agent isn't running on a local machine.

Mobile coding agent orchestrationOrchestration from mobile extends single-session access to managing multiple remote coding sessions simultaneously — tracking which agents are active, blocked, or finished across several remote machines at once.

Frequently asked questions

What is the difference between a remote coding session and an SSH session?

An SSH session gives you a terminal on a remote machine — you run commands interactively, the same way you would locally. A remote coding session is a broader concept: it includes the SSH terminal case, but also covers full editor integrations (VS Code Remote SSH, JetBrains Gateway), cloud development environments (Codespaces, Daytona), and AI agent sessions running on remote machines. In the AI agent context specifically, the "session" means the agent's running process, not just a terminal prompt.

Can a remote coding session survive a network disconnection?

Yes, if the session is managed correctly. The agent process on the remote machine keeps running regardless of whether your client is connected — a dropped network connection only severs your view of the session, not the session itself. For terminal sessions, tools like tmux or screen preserve the process across disconnects. Grass handles this at the transport layer: SSE streams reconnect automatically using Last-Event-ID, replaying any output you missed during the gap.

What's the best way to host a remote coding session for Claude Code?

For sessions where you want your laptop off, a Daytona workspace is the most straightforward option — it provisions a container with your repo pre-loaded, supports Claude Code out of the box, and integrates with Grass. For sessions where your laptop stays on but you want mobile access, run grass start locally and connect from your phone over WiFi or Tailscale.

Does Grass work with remote coding sessions on any cloud provider?

Grass works with any machine that can run the Grass CLI (npm install -g @grass-ai/ide) and has Claude Code or OpenCode installed. That includes Daytona workspaces, AWS EC2 instances, GCP Compute Engine VMs, DigitalOcean droplets, and any other Linux environment. The connection model is always the same: run grass start on the remote machine, use --network tailscale or --network remote-ip for the QR code address, and scan from the Grass app.

How is Grass different from VS Code Remote SSH for accessing an agent remotely?

VS Code Remote SSH gives you a full editor experience on the remote machine — you're essentially using VS Code as if you were sitting at that machine. Grass is not an editor. It's a mobile-first interface for the AI agent workflow specifically: live output streaming, per-action approval modals, a diff viewer, and bidirectional chat with the agent. You can't edit files in Grass, but you can monitor and control a running Claude Code session without a laptop.

What happens to my remote coding session if I close the Grass app?

Nothing — the agent keeps running. Grass is a client; closing it doesn't affect the server-side process. When you reopen the app and reconnect, Grass replays any output you missed using SSE sequence numbers and Last-Event-ID. Claude Code sessions are also backed by .jsonl transcript files at ~/.claude/projects/<cwd>/<session-id>.jsonl, so history persists even if you restart Grass entirely.