Internal Agents Map

Casper

Company
Snap
Approach type
Agent family
Work
Coding, Maintenance, On-call, Data
Human involvement
Drafts reviewed
Invocation
Interactive, Background, Scheduled, Event-driven
Interfaces
Slack, Web, Jira, Api, Scheduled
Deployment stage
Scaled
Evidence strength
Detailed primary
Entry reviewed

Purpose

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.

Check the reviewed sources and claim details.

How it works

Representative workflow: Plain-language task from Slack, the Agents Portal, or a trigger through an isolated sandbox session to a pull request presented for human review. Research details

Spin up the sandbox under the session identity

Casper starts a durable session, spins up a fresh isolated sandbox, and loads the Casper Agent selected for the target repository and task

Gather context before touching code

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

Plan and implement the smallest safe change

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

Open a casper-prefixed branch and a normal pull request

Casper pushes a branch with the casper/ prefix and opens a pull request wired into existing workflows, following team conventions and templates

Where people stay involved

Each scope pairs its normal attention boundary with supporting evidence. See the supervision definitions for the level mapping and limits.

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.

  • plain-language task from Slack, the Agents Portal, a trigger, or the API validated pull request presented for human review

    Work-product review · Level 3
  • non-coding Casper work reached through the MCP Gateway, such as Jira status triage, A/B experiment checks, data analysis, and document summaries

    Unknown · Level unknown

Catalog interpretation: Level 3 for plain-language task from Slack, the Agents Portal, a trigger, or the API validated pull request presented for human review; human attention boundary: work-product-review.

Observed in July 2026

Catalog interpretation: Unclassified for non-coding Casper work reached through the MCP Gateway, such as Jira status triage, A/B experiment checks, data analysis, and document summaries; human attention boundary: unknown.

Observed in July 2026

Implementation details

Model
Not named. 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.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.
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.
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.
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.
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.
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.
Interfaces
slack, web, jira, api, scheduled

Mechanisms

Gather, act, verify, repeat

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

Separate execution from authority

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

Carry the triggering identity the whole chain

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

Reattach a durable session

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

Save a role as a Casper Agent Template

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

Validation and failure handling

Validate in the repository development environment

Builds, tests, linters, and configured checks run inside the loop rather than after it, in the repository's real development environment

Iterate on failing checks

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

Hand the pull request to CodePal before human review

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

Reported observations

The catalog records what the sources report, with the scope and the denominator of every figure. A qualification below limits the figure it sits under.

Adoption output · Reported measurement · Mergeable pull requests Casper produces each week across Snap's engineering organization

Headline claim

“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).”

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

Implementation scale · Reported measurement · Custom Casper agents created by Snap teams since general availability

Key observation

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

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

Cost latency · Qualitative · Build time for a custom on-call agent in Casper compared with an earlier from-scratch attempt

Key observation

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

Reported by
Snap
Scope
Build time for a custom on-call agent in Casper compared with an earlier from-scratch attempt

The source does not report the denominator of this figure.

Observed in July 2026

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.

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.

Reported opinion: Snap states that its target for Casper is mergeable pull requests, so the measure reflects outcomes rather than activity.

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.

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.

Sources and research details

Citations link to the original publisher. Each source also keeps a preserved copy in the repository, so a changed or removed page stays checkable.

  1. Casper: Snap's fleet of friendly AI teammateshttps://eng.snap.com/casperEngineering blog · First party · Last source verification: 2026-09-21
Question coverage and scope
purpose
Reported
workflow
Reported
human involvement
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.
implementation
Reported
validation
Reported
observations
Reported
lessons
Reported
Research details for every claim on this page
  1. Summary
    Statement type
    Fact
    Provenance
    Reported
    Confidence
    High
    Confidence reason
    A linked first-party source states the claim.
  2. Headline claim
    Statement type
    Metric
    Provenance
    Reported
    Confidence
    Medium
    Confidence reason
    Snap states the weekly volume in its own engineering blog without a denominator, a counting window, or a measurement method.
    Reported by
    Snap
    Scope
    Mergeable pull requests Casper produces each week across Snap's engineering organization
    Denominator
    Not reported
    Method
    Not reported
    Observation date
    2026-07
  3. Sandbox
    Statement type
    Fact
    Provenance
    Reported
    Confidence
    High
    Confidence reason
    A linked first-party source states the claim.
  4. Harness
    Statement type
    Fact
    Provenance
    Reported
    Confidence
    High
    Confidence reason
    A linked first-party source states the claim.
  5. Model
    Statement type
    Fact
    Provenance
    Reported
    Confidence
    High
    Confidence reason
    A linked first-party source states the claim.
  6. Interfaces
    Statement type
    Fact
    Provenance
    Reported
    Confidence
    High
    Confidence reason
    A linked first-party source states the claim.
  7. Tool access
    Statement type
    Fact
    Provenance
    Reported
    Confidence
    High
    Confidence reason
    A linked first-party source states the claim.
  8. Knowledge
    Statement type
    Fact
    Provenance
    Reported
    Confidence
    High
    Confidence reason
    A linked first-party source states the claim.
  9. Credentials
    Statement type
    Fact
    Provenance
    Reported
    Confidence
    High
    Confidence reason
    A linked first-party source states the claim.
  10. Context management
    Statement type
    Fact
    Provenance
    Reported
    Confidence
    High
    Confidence reason
    A linked first-party source states the claim.
  11. Gather, act, verify, repeat
    Statement type
    Fact
    Provenance
    Reported
    Confidence
    High
    Confidence reason
    A linked first-party source states the claim.
  12. Spin up the sandbox under the session identity
    Statement type
    Fact
    Provenance
    Reported
    Confidence
    High
    Confidence reason
    A linked first-party source states the claim.
  13. Gather context before touching code
    Statement type
    Fact
    Provenance
    Reported
    Confidence
    High
    Confidence reason
    A linked first-party source states the claim.
  14. Plan and implement the smallest safe change
    Statement type
    Fact
    Provenance
    Reported
    Confidence
    High
    Confidence reason
    A linked first-party source states the claim.
  15. Validate in the repository development environment
    Statement type
    Fact
    Provenance
    Reported
    Confidence
    High
    Confidence reason
    A linked first-party source states the claim.
  16. Iterate on failing checks
    Statement type
    Fact
    Provenance
    Reported
    Confidence
    High
    Confidence reason
    A linked first-party source states the claim.
  17. Open a casper-prefixed branch and a normal pull request
    Statement type
    Fact
    Provenance
    Reported
    Confidence
    High
    Confidence reason
    A linked first-party source states the claim.
  18. Hand the pull request to CodePal before human review
    Statement type
    Fact
    Provenance
    Reported
    Confidence
    High
    Confidence reason
    A linked first-party source states the claim.
  19. Separate execution from authority
    Statement type
    Fact
    Provenance
    Reported
    Confidence
    High
    Confidence reason
    A linked first-party source states the claim.
  20. Carry the triggering identity the whole chain
    Statement type
    Fact
    Provenance
    Reported
    Confidence
    High
    Confidence reason
    A linked first-party source states the claim.
  21. Reattach a durable session
    Statement type
    Fact
    Provenance
    Reported
    Confidence
    High
    Confidence reason
    A linked first-party source states the claim.
  22. Save a role as a Casper Agent Template
    Statement type
    Fact
    Provenance
    Reported
    Confidence
    High
    Confidence reason
    A linked first-party source states the claim.
  23. Key observation
    Statement type
    Metric
    Provenance
    Reported
    Confidence
    Medium
    Confidence reason
    Snap reports a rounded count of custom agents and names the roles they cover, but dates the period only as "Since GA last quarter" and gives no measurement method.
    Reported by
    Snap
    Scope
    Custom Casper agents created by Snap teams since general availability
    Denominator
    Not reported
    Method
    Not reported
    Observation date
    2026-07
  24. Key observation
    Statement type
    Metric
    Provenance
    Reported
    Confidence
    Low
    Confidence reason
    The article reports the hours-against-weeks comparison as instances it has seen, without a sample size, a date, or a description of the earlier from-scratch attempt.
    Reported by
    Snap
    Scope
    Build time for a custom on-call agent in Casper compared with an earlier from-scratch attempt
    Denominator
    Not reported
    Method
    Not reported
    Observation date
    2026-07
  25. Lesson
    Statement type
    Fact
    Provenance
    Reported
    Confidence
    High
    Confidence reason
    The architecture section states the split directly, naming the four controller operations and the per-call authorization against the session identity. It describes Snap's design, not a verified security property.
  26. Lesson
    Statement type
    Fact
    Provenance
    Reported
    Confidence
    High
    Confidence reason
    The MCP Gateway section states that identity travels the whole chain and that each downstream system enforces the triggering user's existing permissions. The enforcement is described, not independently tested.
  27. Lesson
    Statement type
    Opinion
    Provenance
    Reported
    Confidence
    Medium
    Confidence reason
    Snap states this target for its own program in one sentence; the article does not report how mergeability is counted, and the preference is Snap's rather than general advice.
  28. Lesson
    Statement type
    Fact
    Provenance
    Reported
    Confidence
    Medium
    Confidence reason
    Snap lists the five requirements vendor solutions did not meet for its codebase. The article names no vendor or evaluation, so only Snap's account of its own decision is supported.
  29. Lesson
    Statement type
    Fact
    Provenance
    Reported
    Confidence
    Medium
    Confidence reason
    The template dimensions and the reported hundreds of custom agents support the practice. That templates are what makes Casper scale is Snap's framing, and the article reports no comparison against a single general-purpose agent.
  30. Operating model assessment
    Statement type
    Inference
    Provenance
    Catalog judgment
    Confidence
    High
    Confidence reason
    The run anatomy ends at a pull request presented for human review, and the article states the pull request follows the same review and approval process as any other change. Approval pauses during the run are described as conditional, so attention normally returns at the work product.
    Observation date
    2026-07
  31. Operating model assessment
    Statement type
    Inference
    Provenance
    Catalog judgment
    Confidence
    Unverified
    Confidence reason
    The article lists non-coding uses such as Jira triage, A/B experiment checks, data analysis, and document summaries, but does not say who reviews those outputs or when.
    Observation date
    2026-07
Back to agents
Know an internal agent?

Share a resource or public mention, suggest an addition, or correct an existing entry. Pull requests are also welcome.