Casper
Casper is Snap's fleet of remote coding agents. An engineer describes a task in a Slack DM, a channel mention, or the Agents Portal, and Casper starts a durable session in an isolated sandbox, gathers context from the trigger and from Code Search, plans and implements the smallest safe change, validates it, and opens a pull request that CodePal reviews before a person does. Teams save no-code Casper Agent Templates that fix the instructions, tools, runtime image, triggers, and model for a recurring role, and the same engine reaches beyond code through Snap's MCP Gateway.
- Company
- Snap
- Approach type
- Agent family
- Work
- Coding, Maintenance, On-call, Data
- Human involvement
- Varies by scope: Work-product review, Unknown. See each scope.
- Invocation
- Interactive, Background, Scheduled, Event-driven
- Interfaces
- Slack, Web, Jira, Api, Scheduled
- Deployment stage
- Scaled
- Evidence strength
- Detailed primary
- Entry reviewed
How it works
Plain-language task from Slack, the Agents Portal, or a trigger through an isolated sandbox session to a pull request presented for human review.
Casper starts a durable session, spins up a fresh isolated sandbox, and loads the Casper Agent selected for the target repository and task[Source 1]
Casper reads the triggering Slack thread, the Jira ticket, linked documents, repo-level rule files, repository guidance, team-authored skills, and relevant history, and reaches across Snap through Code Search to find ownership, reuse established patterns, and inspect downstream callers in other repositories[Source 1]
Casper determines which tools it has access to, finds the right ones for the task, plans the smallest safe change, and edits the working tree, asking the human for approval where needed[Source 1]
Casper pushes a branch with the casper/ prefix and opens a pull request wired into existing workflows, following team conventions and templates[Source 1]
Where people stay involved
People review, approve, or guide the agent’s work here.
Reported: Casper may pause to ask a clarifying question or present a plan to approve, engineers can join a running session to update the instructions, and the pull request follows the same review and approval process as any other change.
Supervision level
Work-product review
A person reviews the draft or implementation.
Level 3 of 5
- plain-language task from Slack, the Agents Portal, a trigger, or the API → validated pull request presented for human review[Source 1]
Supervision level
Not classified
- non-coding Casper work reached through the MCP Gateway, such as Jira status triage, A/B experiment checks, data analysis, and document summaries
Implementation details
- Model
- A Casper Agent Template picks the model that balances quality, speed, and cost and attributes usage to a team; Snap names model-family independence as a build requirement.[Source 1]The template dimension and the model-family independence requirement are described; no model or vendor is named.
- Harness
- A remote runner around the same agentic loop a local tool such as Claude Code or Codex runs - gather context, act, verify, repeat - held open as a durable session; Snap names harness-family independence as a build requirement. The workspace lifetime is separated from the compute, so the idle runtime can be torn down between turns.[Source 1]
- Sandbox
- A fresh, isolated, disposable sandbox container per session; Casper skips per-command approvals because the blast radius is a throwaway container, and it has no access to a user's filesystem, SSH keys, or credentials. A Casper Agent Template can supply a custom container image.[Source 1]
- Tool access
- Snap's MCP Gateway is the standardized interface to every MCP and tool available at Snap, so a new MCP reaches every Casper agent without per-agent integration work. Source-control work goes through a narrow tool interface - checkout, Code Search, push, and pull-request operations - exposed by a trusted controller. A template can narrow the tool set for a role.[Source 1]
- Knowledge
- Code Search, the org-wide retrieval layer described in Part 2 of the series and the same context substrate CodePal uses, plus the triggering Slack thread, linked Jira tickets and documents, repo-level rule files, repository guidance, and team-authored skills.[Source 1]
- Context management
- A durable session that reattaches. After a turn the idle runtime can be torn down while the conversation, checkout, and branch remain, and a follow-up reply continues in the same workspace instead of starting cold. Casper can be pulled into an existing Slack thread and reads the prior messages as context, and a session owner can add a collaborator to steer the same session.[Source 1]
- Credentials
- Execution is separated from authority - the process that edits code and runs commands holds no raw source-control credentials, and a trusted controller authorizes each call against the session identity. Interactive sessions run under a per-user identity mirrored from the triggering user; automated Casper Agents run under their own agent-scoped machine identities.[Source 1]
- Interfaces
- slack
- web
- jira
- api
- scheduled
Mechanisms
A repeatable session loop that Snap applies to many kinds of work and exercises end to end on a coding task, from an ambiguous request to a reviewable pull request[Source 1]
The process editing code and running commands holds no raw source-control credentials; a separate trusted controller exposes checkout, Code Search, push, and pull-request operations through a narrow tool interface and authorizes each call against the session identity[Source 1]
The authenticated identity follows the request from Slack or the portal into the sandbox and forward through every MCP Gateway call, and each downstream system enforces that user's existing permissions, making the gateway a single auditable choke point[Source 1]
The workspace lifetime is separated from the compute, so the idle runtime can be torn down after a turn while the conversation, checkout, and branch remain and a reply continues the same workspace[Source 1]
A no-code saved configuration fixes the custom instructions, tool selection, runtime container image, where the agent can be summoned and who can run or edit it, and the model and cost attribution for a recurring role[Source 1]
Validation and failure handling
Builds, tests, linters, and configured checks run inside the loop rather than after it, in the repository's real development environment[Source 1]
On a failure Casper reads the output, revises the change, and runs it again rather than handing a reviewer code that does not compile; engineers can optionally join the session and update the instructions to fine-tune the output[Source 1]
CodePal reviews the pull request immediately with findings posted in line, and Casper can address the flagged issues before the pull request is presented for human review[Source 1]
Reported observations
These results come from the sources. Notes below each result explain what it covers and any reported limits.
Snap reports Casper producing thousands of mergeable pull requests each week across its engineering organization (self-reported, July 2026 article, no denominator or method given).[Source 1]
- Reported by
- Snap
- Scope
- Mergeable pull requests Casper produces each week across Snap's engineering organization
The source does not report the denominator of this figure.
Observed in July 2026
About this result
- Category
- Adoption output
- Evidence type
- Reported measurement
- What it covers
- Mergeable pull requests Casper produces each week across Snap's engineering organization
Snap reports hundreds of custom Casper agents created since general availability in the quarter before the article, covering on-call, project-status summaries, audit evidence checking, and test expansion[Source 1]
- Reported by
- Snap
- Scope
- Custom Casper agents created by Snap teams since general availability
The source does not report the denominator of this figure.
Observed in July 2026
About this result
- Category
- Implementation scale
- Evidence type
- Reported measurement
- What it covers
- Custom Casper agents created by Snap teams since general availability
Snap reports engineers building a custom on-call agent in Casper in a few hours after spending weeks trying to build one from scratch elsewhere[Source 1]
- Reported by
- Snap
- Scope
- Build time for a custom on-call agent in Casper compared with an earlier from-scratch attempt
Observed in July 2026
About this result
- Category
- Cost latency
- Evidence type
- Qualitative
- What it covers
- Build time for a custom on-call agent in Casper compared with an earlier from-scratch attempt
Lessons
Snap separates execution from authority in Casper - the process that edits code and runs commands holds no raw source-control credentials, and a trusted controller authorizes each checkout, search, push, and pull-request call against the session identity.[Source 1]
Snap propagates the triggering user's authenticated identity from Slack or the portal into the sandbox and onward through every MCP Gateway call, so a Casper session reaches only what that user can reach and each tool call stays attributable to them.[Source 1]
Reported opinion: Snap states that its target for Casper is mergeable pull requests, so the measure reflects outcomes rather than activity.[Source 1]
Snap reports evaluating build against buy and choosing to build Casper because vendor coding agents did not cover interoperability with its internal services, tight integration with CodePal and Code Search, control over agent identity and access, harness and model independence, and control of a Snap-specific product experience.[Source 1]
Snap uses no-code agent templates so each team encodes its own instructions, tools, runtime image, triggers, and model instead of sharing one general-purpose agent; Snap presents this as how Casper scales across its organization.[Source 1]