> ## Documentation Index
> Fetch the complete documentation index at: https://docs.coderabbit.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Sandboxes

> Configure the shared workspace sandbox CodeRabbit Agent for Slack uses for reproducible execution, package setup, and saved snapshots.

export const Hint = ({type, children, headline, tip, href, cta}) => {
  const TIPS = {
    learnings: {
      headline: "Learnings",
      tip: "Review preferences CodeRabbit learns from your chat conversations and applies automatically to future reviews.",
      cta: "Learn about Learnings",
      href: "/knowledge-base/learnings",
      content: "Learnings"
    },
    walkthrough: {
      headline: "PR Walkthrough",
      tip: "A structured comment posted by CodeRabbit at the top of every pull request, summarizing changes, sequence diagrams, review effort, and more.",
      cta: "Learn about PR Walkthroughs",
      href: "/pr-reviews/walkthroughs",
      content: "Walkthrough"
    },
    "finishing-touches": {
      headline: "Finishing Touches",
      tip: "Post-review agentic actions (Autofix, writing docstrings or unit tests, and more) you trigger from a PR comment or a checkbox in the Walkthrough.",
      cta: "See all Finishing Touches",
      href: "/finishing-touches",
      content: "Finishing Touches"
    },
    "coding-plan": {
      headline: "Coding Plan",
      tip: "A detailed, codebase-aware implementation plan CodeRabbit generates from an issue or description, ready to hand off to any coding agent.",
      cta: "Learn about Coding Plans",
      href: "/plan",
      content: "Coding Plan"
    },
    "knowledge-base": {
      headline: "Knowledge Base",
      tip: "The collected context sources CodeRabbit draws on during reviews: Learnings, Code Guidelines, issue trackers, connected MCP servers, and cross-repo analysis.",
      cta: "Explore the Knowledge Base",
      href: "/knowledge-base",
      content: "Knowledge Base"
    },
    "path-instructions": {
      headline: "Path Instructions",
      tip: "Custom review rules that only apply to files matching a glob pattern, e.g. 'src/controllers/**'.",
      cta: "Configure path instructions",
      href: "/configuration/path-instructions",
      content: "Path Instructions"
    },
    scope: {
      headline: "Scope",
      tip: "A named set of repositories, connections, and spend limits that controls what CodeRabbit Agent can access in a given Slack conversation.",
      cta: "Learn about Scopes",
      href: "/slack-agent/scopes",
      content: "Scope"
    }
  };
  const defaults = TIPS[type] || ({});
  return <Tooltip headline={headline ?? defaults.headline} tip={tip ?? defaults.tip} cta={cta ?? defaults.cta} href={href ?? defaults.href}>
      {children ?? defaults.content}
    </Tooltip>;
};

CodeRabbit Agent for Slack uses a shared workspace sandbox for code execution, not a private environment per user. Saved state, installed packages, and snapshots benefit the entire team. Configuration changes affect every run in the workspace, so coordinate with your team before making changes.

The Sandboxes page is a workspace-admin surface. <Hint type="scope">Scope</Hint> admins and regular members do not get direct sandbox management access in the web app.

## How sandboxes work

Each Slack thread maps 1:1 to a sandbox instance with its own git worktree branch and snapshot chain. CodeRabbit Agent restores from the most recent snapshot when a thread starts work and snapshots the sandbox when a run completes. The shared base snapshot provides the starting point for all new threads.

## Guaranteed tools

Every sandbox includes:

| Category              | Tools                         |
| --------------------- | ----------------------------- |
| Version control       | `git`                         |
| Network and archive   | `curl`, `tar`, `zip`, `unzip` |
| Languages             | `python3`                     |
| Search and navigation | `rg` (ripgrep), `fd`, `tree`  |
| Data processing       | `jq`, `yq`, `sqlite3`, `gawk` |
| Build and patch       | `make`, `patch`, `file`       |
| System                | `time`, `procps`              |

Optional: `gh` (GitHub CLI), `glab` (GitLab CLI) on a best-effort basis.

## What admins can configure

* Runtime selection (curated set including modern Node.js and Python, not arbitrary environments)
* Package setup
* Saved snapshots
* Reset-to-clean behavior
* Live terminal and command access in the web app where supported

## Lifecycle states

| Status     | Meaning                                     |
| ---------- | ------------------------------------------- |
| `draft`    | Configuration exists, no snapshot saved yet |
| `saving`   | Snapshot save in progress                   |
| `ready`    | Saved snapshot available                    |
| `failed`   | Most recent operation failed                |
| `archived` | Sandbox retired                             |

## What's next

<CardGroup cols={1}>
  <Card title="Admin roles and security" href="/slack-agent/admin-and-security" icon="lock" horizontal>
    Confirm who should be allowed to manage shared workspace execution settings.
  </Card>

  <Card title="Working in Slack" href="/slack-agent/use-in-slack" icon="messages-square" horizontal>
    Understand when CodeRabbit Agent might rely on the shared sandbox during real conversations.
  </Card>

  <Card title="Thread reviews" href="/slack-agent/thread-reviews" icon="file-search" horizontal>
    Inspect the resulting runs and diffs after sandbox-backed work completes.
  </Card>
</CardGroup>
