GitHub Copilot Cloud Sessions: The Resume Gate That Stops Agent Drift GitHub announced on October 28 a connected Copilot cloud experience that lets paid-plan users start a cloud task on GitHub, Mobile, the Copilot app, VS Code, the Copilot CLI, Slack, or Teams and continue the same session on another surface, with cloud sandboxes that can snapshot on shutdown and resume later under the same Actions entitlement. The announcement prompted a developer-facing guide to a "resume gate" — a short pre-continuation check of the working tree, base branch, permissions, skipped tests, and pending approvals — because, as the guide puts it, "Resuming a session is not the same as resuming safely." GitHub's documentation distinguishes cloud sandbox session context from Copilot Memory and from Actions-based or remote environments, each with its own source of truth and failure boundary. Cross-device agent work feels effortless until an old assumption, a half-finished migration, or a missed approval follows you to the next screen. A small resume gate keeps continuity from turning into drift. A session can move between surfaces. Its decision trail and proof still need an intentional handoff. At standup, you ask an agent on your phone to investigate a flaky checkout test. At your desk, you open the same work in VS Code. Later, a teammate adds a note in Slack. The agent has kept running in a cloud sandbox while your laptop was closed. That is no longer a hypothetical workflow. On October 28, GitHub announced a connected Copilot cloud experience that lets paid-plan users start a cloud task on GitHub, Mobile, the Copilot app, VS Code, the Copilot CLI, Slack, or Teams, then continue the same session elsewhere. GitHub says cloud sandboxes can snapshot when they shut down and resume later; the same Actions entitlement can cover builds, cloud sandboxes, and some larger runners. The useful change is not simply that an agent can run longer. It is that a coding task can now travel farther than the person who started it. That creates a quiet engineering risk: continuity can be mistaken for correctness. The conversation may be available, but the repository may have changed, a permission may differ on the new surface, a test may have been skipped, or an approval may be waiting. Resuming a session is not the same as resuming safely. Treat every cross-surface return as a tiny deployment handoff. This guide gives developers and engineering leaders a practical resume gate : a short check that turns an AI coding-session continuation into an inspectable, low-surprise workflow. It is useful for GitHub Copilot cloud sessions now, and it also works for any agent that can pause, move, or reconnect. Traditional local tooling made context loss obvious. You closed a terminal, switched branches, or opened a new editor window. You knew the break happened. A cloud agent removes that friction. GitHub’s new experience can keep a cloud session running independently of a local machine and list the same session across supported clients. In VS Code, GitHub describes starting a task from a phone, steering it at a desk, and checking it on the web later. That is powerful because the work survives a commute, a meeting, and a laptop battery. It is also why an informal “continue where you left off” prompt is no longer enough. The new person — or the same person after a gap — needs to know what is true outside the chat: Developer discussions make the gap familiar. People describe losing the “why” behind a decision after compaction, re-running failed approaches in a new session, or discovering that a handoff file has drifted from the code. Their practical answers are telling: keep a compact decision record, preserve the current plan, record completed validation, and force the next session to inspect state before it edits. A long transcript alone does not do those things reliably. GitHub’s documentation makes an important distinction. A cloud sandbox enables continuation across supported surfaces; session context is distinct from Copilot Memory https://docs.github.com/en/copilot/concepts/copilot-surfaces/copilot-on-github , which is longer-term understanding across sessions. A cloud sandbox is also different from an Actions-based environment or a remote environment connected to your own machine. Do not compress those distinctions into a single idea of “the agent remembers.” Each has a different source of truth and failure boundary. A session can preserve the request, tool history, and agent reasoning context. It cannot make the branch immutable. A developer can push new code, CI can update generated files, a merge can change the base, or another automation can touch the same dependency while the agent is away. Before asking an agent to continue, inspect the working tree and compare its base with the intended remote branch. GitHub says enterprise-managed policies, MCP allowlists, repository exclusions, single sign-on, and write access can constrain cloud experiences. The new surface may show a session, but it should not be assumed to grant the same authority everywhere. A user without write access is automatically read-only in the repository context GitHub describes. That is a good constraint; make it visible in the handoff rather than treating a refused tool call as a mystery. A resumed sandbox is a useful workspace recovery mechanism. It is not a substitution for a branch, pull request, commit, test report, or deployment receipt. If the work matters, its durable proof must live where the team already reviews and retains engineering evidence. Use this gate when a session moves from mobile to desktop, Slack to CLI, browser to editor, or a paused cloud sandbox back to active work. It usually takes under two minutes for a small task. For a risky change, it becomes the opening of a proper review. Start by stating the intended outcome in one sentence, then name the stopping condition. “Make the checkout retry test deterministic; do not change payment behavior; stop after the focused suite and open a draft PR” is an anchor. “Fix checkout” is not. The next agent turn should restate the goal, the constraint, and the next action before using a write-capable tool. This catches a surprisingly common failure: a session continues a previous exploration after the human has mentally moved on to a narrower request. Record the repository URL, current branch or worktree, base commit, current HEAD, and whether there are uncommitted changes. If the cloud workspace is separate from your local checkout, say so plainly. GitHub’s Copilot app can use a new worktree or current checkout, while cloud sandboxes run in an isolated GitHub-hosted environment. Those are different places with different collision risks. Run a read-only inspection before edits. A minimal shell check is enough: git status --shortgit branch --show-currentgit rev-parse HEADgit log --oneline -3git diff --stat If the branch, base, or diff differs from the checkpoint, stop the autonomous run. Ask the agent to describe the divergence and propose a reconciliation plan. Do not let it “clean things up” before someone knows which changes belong to whom. Good resumes are compact. Give the agent a decision ledger with only the facts that change the next action: completed work, open work, rejected approaches, known failures, and an explicit next safe step. Link to the issue, pull request, test run, or design record instead of pasting pages of old context. Here is a small handoff artifact that works in a repository, ticket, or session note: task: Make checkout retry test deterministicstate: partialworkspace: org/shop-api · fix/checkout-retry · HEAD 4c91e6adone: - isolated time-dependent assertion - added a fake clock in the test helperopen: - run the focused suite in CIdecisions: - keep production retry policy unchanged - rejected sleep-based test workaroundevidence: - local: pnpm test checkout-retry passed at 14:12 UTC approval: human review required before mergenext safe action: run focused CI; report failures without editing production code The point is not the format. The point is that each line can be checked. “Everything is ready” cannot. A resume gate turns a vague continuation into a sequence of verifiable checkpoints. Ask two questions: what can the agent do in this environment, and what is it not allowed to do yet? This is especially important when a session started from Slack or Teams, where a conversational request may feel like authorization even though it is not. GitHub says Copilot asks for approval before tool calls that require it, and organization policies can govern cloud access and MCP servers. Make your own boundary just as clear. An agent can investigate, change a feature branch, run a focused test, and draft a pull request. It cannot rotate credentials, change an organization setting, modify production data, or merge its own change without a named human decision. A practical rule: approvals do not travel by implication. If the resumed task now has a wider effect than the original one, request a fresh approval with the changed scope. The last successful test may belong to yesterday’s tree. Select the smallest proof that can falsify the next claim: a type check after a refactor, one focused test after a bug fix, a policy check after an MCP configuration change, or a preview deployment after a UI edit. Keep the command and outcome in the handoff. This is where agents earn trust. They should not say “the work is complete” based on a remembered tool result. They should say what they ran, against which revision, what passed, and what remains unverified. Not every continuation needs the same ceremony. Route work by reversibility and reach. Use this lane for reading code, drafting documentation, searching a repository, or changing a disposable test fixture. Confirm task, workspace, and no unexpected diff; then continue. The output is still reviewable, but a human does not need to inspect every intermediate move. Use this lane for a feature-branch implementation, dependency update, database migration draft, or fix that has a focused test suite. The agent may proceed after the five-part gate, but it must stop at a named checkpoint: after tests, after the diff is prepared, or before a permission change. Most everyday coding-agent work belongs here. Use this lane for production actions, secrets, identity configuration, money movement, destructive data changes, or a widening blast radius. A prior chat message should not authorize a new irreversible action merely because the session stayed alive. Re-present the evidence, the current state, and the exact requested effect. Cloud sandboxes are attractive because they remove a fragile local dependency. GitHub describes them as isolated, resumable environments on GitHub-managed infrastructure. That can make more work possible from mobile and free local compute for another task. It also means the sandbox has lifecycle, cost, and access characteristics that should be visible to the team. GitHub’s announcement says cloud sandbox usage begins billing in November and draws from a shared Actions entitlement. Treat that shared pool like any other shared operational budget. Track the session purpose, runner or sandbox choice, duration, and outcome. A cloud task that quietly repeats a failing loop is both a quality signal and a cost signal. For an organization rollout, begin with a small inventory: Keep the policy proportional. A blanket ban sends useful work back into unmanaged personal workspaces. An unlimited default hides risk until a sensitive repository is involved. The productive middle is a clear allowlist, narrow starting permissions, a visible review path, and a simple escalation process. The moment to review a resumed session is before its next consequential action, not after it has created a difficult-to-explain diff. Do not begin with “everyone can use cloud agents.” Pick one workflow with a clear owner and a reversible result. Examples include triaging a flaky test, drafting a documentation update from an issue, or preparing a pull-request fix from review comments. GitHub supports cloud sessions from pull requests, issues, and several client surfaces, so choose the entry point your team already understands. For two weeks, require the resume artifact on every yellow-lane task. Review a handful of completed sessions with the people who used them. Ask three questions: Was the next action clear? Did the workspace match the claimed state? Did the proof match the claim? Then remove needless fields, not needed controls. Your success metric should be accepted outcomes, not prompts sent or agent hours logged. A fast continuation that creates a confusing diff is not a win. A resumed session that produces a small, reviewed, correctly scoped pull request without forcing the developer to reconstruct the task is. GitHub Copilot cloud sessions make a modern development habit easier: work can begin where an observation happens and continue where deep review is practical. A production alert can become a scoped investigation from a phone. A review comment can become a safe fix from a browser. A long test run can continue while the developer moves on. But convenient continuity needs an external record of reality. Anchor the task. Verify the workspace. Read the delta. Re-establish authority. Re-run the smallest proof. Those five moves take less effort than rediscovering why an agent changed a file — or undoing a confident continuation that should have paused. The session is allowed to travel. The evidence should travel with it. They are Copilot sessions that run in a cloud environment and can be continued across supported GitHub Copilot surfaces. GitHub documents cloud sandbox, Actions-based, and remote environment options; availability and policies depend on the plan and organization. GitHub says a cloud session can be started on one supported surface and continued on another, including Mobile, GitHub.com, the Copilot app, VS Code, and Copilot CLI. Check your organization’s Copilot-in-the-cloud policy before relying on it for work. No. Session context is not a guarantee that the branch, worktree, base commit, or uncommitted diff still matches the prior state. Inspect the repository before allowing new edits. Include the task and stop condition, workspace identity, completed and open work, key decisions, command-level evidence, approval status, and one next safe action. Keep it short and link to durable records. Only if your organization has intentionally designed and tested that authority for a narrow low-risk workflow. A resumable session should not inherit a broad merge permission merely because it was previously active. Track sandbox purpose, duration, outcome, and shared compute consumption; use scoped pilots and budget alerts. GitHub says cloud sandbox usage draws from the shared Actions entitlement, so the right unit is cost per accepted outcome, not raw session count. GitHub Copilot Cloud Sessions: The Resume Gate That Stops Agent Drift https://pub.towardsai.net/github-copilot-cloud-sessions-the-resume-gate-that-stops-agent-drift-263e2bfc300b was originally published in Towards AI https://pub.towardsai.net on Medium, where people are continuing the conversation by highlighting and responding to this story.