First-class sandbox snapshots with secure capture and per-repo defaults, per-workspace Slack settings with gate cards and grouped sandbox view, zero-config Playwright MCP, and Cursor SSH aliases.
Overview
This release makes sandbox snapshots a first-class feature: capture,
label, and reuse sandbox state as a starting point for new sandboxes,
with credential scrubbing baked in. The Slack integration gets
per-workspace settings, a configurable system prompt, interactive gate
cards before dispatching an agent, and a grouped sandbox view tied to
the originating Slack conversation. Developer tooling adds zero-config
Playwright MCP and stable per-sandbox Cursor SSH aliases.
What's new
Snapshots
Snapshot management: Create, label, and browse snapshots from the
sandbox page. Sandboxes track which snapshot they started from, and
you can pick a saved snapshot when creating a new sandbox.
Per-repo default snapshot: Repositories can configure a default
snapshot that new sandboxes use automatically. You can override or
skip it per sandbox.
Secure capture: Credentials, env files, and agent data directories
are scrubbed before a snapshot is saved. A snapshot-and-delete flow in
the UI makes the process explicit.
Reliable activation: Snapshot timeouts are raised (15 min capture,
10 min activation). If capture fails, the sandbox stays active.
Slack
Per-workspace settings: Each connected Slack workspace now has its
own settings page for repo binding, agent defaults, and a custom
system prompt.
Gate cards: The bot posts an interactive card before dispatching an
agent, so you can confirm, redirect, or cancel from Slack.
Grouped sandbox view: Sandboxes are grouped by the Slack workspace
and conversation that created them, with workspace branding and the
triggering thread shown inline.
Developer tools
Playwright MCP: Playwright is available as a zero-config
integration in all sandboxes, running headless with no setup required.
Cursor SSH: A stable per-sandbox SSH alias lets you open Cursor
directly into any sandbox and reconnect after restarts.
amika sandbox ls --long: The sandbox list is trimmed by default;
pass --long to see all columns.
Reliability
Claude OAuth tokens are refreshed server-side before injection. If a
token is dead, the UI surfaces a re-auth error rather than silently
failing.
SSH access tokens include sandbox ID and name and are valid for a full
working day.
Sandboxes return to active state after a failed snapshot attempt, so
you don't lose your work.
Repository workflows, Slack agent picker, and TypeScript SDK
Automated repo workflows on sandbox creation, per-thread Slack agent and repo selection, a new TypeScript SDK, larger sandbox sizes, and CLI auto-detection of your current git repo.
Overview
This release introduces repository workflows that run automatically when
a sandbox is created, a Slack bot upgrade that lets each thread pick its
own repo and coding agent, and a TypeScript SDK for driving sandboxes
from your own code. The CLI now infers your git repo from the current
directory, sandbox sizes expand to L and XL, and sandbox creators are
visible throughout the app.
What's new
Repository workflows: Define TOML-based workflows per repo and
edit them in a node-graph canvas. Workflows run automatically when a
sandbox is created, and live workflow events stream into the sandbox
page as they execute.
Slack agent picker: When @amika is mentioned in a new Slack
thread, users can choose which repo and which coding agent (Claude or
Codex) to use for that thread. Channels can set defaults so common
cases skip the picker entirely.
TypeScript SDK: An npm-installable client for the hosted HTTP
API covering the full sandbox lifecycle (create, wait, agentSend,
delete). The SDK version is pinned to the matching Amika CLI release
and published via a gated npm workflow.
L and XL sandbox sizes: Pick larger sandboxes from the
create-sandbox dialog. A tooltip shows the specs for each size.
Sandbox creator visible everywhere: Both amika sandbox ls and
the web sandbox list now show who created each sandbox.
CLI auto-detects your repo: amika sandbox create infers the
git repo from your current directory. Pass --git <url|path> to
override, or --no-git to opt out. The repo column is also now
shown in amika sandbox ls.
start.sh hook: Define a start.sh that runs on every sandbox
start (not just create), alongside the existing setup.sh. Useful
for commands that need to run on resume as well as initial setup.
Slack bot, org credentials, and start scripts
Slack integration for triggering agents from your workspace, org-scoped Claude and Codex credentials, and a new start_script repo config option.
Overview
This release ships the Slack bot integration, letting teams trigger and
receive amika agents directly from Slack. It also adds org-level
credential management so teams can share a single Claude or Codex API
key, and extends repo config with a start_script option.
What's new
Slack integration: Connect amika to your Slack workspace from the
Integrations page. Once configured, you can message the bot directly
(DMs are supported, not just thread replies) and it will run an agent
and post results back to the thread. Errors surface in the thread
too, so you're not left guessing if something went wrong.
Slack repo binding: In the Integrations settings, you can bind a
Slack workspace to a specific repository so the bot knows which repo
to operate on by default.
Org-scoped Claude and Codex credentials: Admins can now set a
Claude or Codex API key at the org level. Individual users can still
provide their own key and it will take precedence, but teams no
longer need every member to configure credentials separately.
start_script in repo config: .amika/config.toml now accepts
an optional start_script under [lifecycle], alongside the
existing setup_script. It runs on amika start — i.e. when you
resume a stopped sandbox — making it the right place for commands
that bring your app back up after a stop/resume cycle.
Better API docs: The interactive API reference now uses Scalar,
and llms.txt endpoints are available for LLM-friendly API
discovery.
April 23 – May 11, 2026
Versioned API (v0beta1), agent credential selection, Slack workspace integration, async agent-send, and settings reorganization.
Overview
This release introduces a public, versioned API at /api/v0beta1/
with interactive docs and an OpenAPI schema. Alongside that, it
delivers a redesigned credential management experience: you can now
control which AI credentials are injected per sandbox from the UI
dialog, the CLI, and a repo-level config default in
.amika/config.toml. The settings page is reorganized into dedicated
subpages and repositories get a clickable detail view.
Agent credential selection: When creating a sandbox, you now
choose which stored credential to inject for each agent (Claude,
Codex) from a picker in the Create Sandbox dialog. The dialog
pre-selects based on repo-config defaults, then your most recently
added credential. You can also explicitly skip injection for a given
agent. Set a repo-level default in .amika/config.toml under
[agent_credentials].
CLI credential flags: amika sandbox create now accepts
--agent-credential <kind>=<name> to pick a credential by name,
--agent-credential-type <kind>=<type> to pick by credential type
(oauth or api-key), and --no-agent-credential <kind> to skip
injection entirely for that agent. <kind> is claude or codex.
Slack bot token credentials: You can now store a Slack bot token
as an org-shared credential in Settings, making it available to
agents that interact with Slack.
Settings page reorganization: Settings is split into dedicated
subpages (API Keys, Secrets, GitHub, Claude Code, Codex, OpenCode).
The sidebar expands to show these when you navigate to Settings.
"Integrations" is renamed to "MCP Servers".
Repositories detail view: Clicking a configured repository on the
Repositories page now opens a dedicated detail page
(/repositories/<id>) with the full edit form. Size, preset, and
custom Docker image settings are grouped together under a toggle.
Detailed
CLI
Added --agent-credential <kind>=<name>,
--agent-credential-type <kind>=<type>, and
--no-agent-credential <kind> flags to amika sandbox create for
controlling which credential is injected for each agent when
creating a remote sandbox. <kind> is claude or codex. Without
any flag, the CLI sends an opt-in signal so the server can apply
your repo-config defaults or auto-select.
The --size flag is now validated before sending the request. An
unrecognized value gives an immediate error rather than a server
failure.
All CLI API calls now use the versioned /api/v0beta1/ endpoints,
required alongside the server update in this release.
UI
The Create Sandbox dialog now shows a credential picker for each
agent (Claude, Codex). It pre-selects based on repo-config defaults
declared in .amika/config.toml under [agent_credentials], then
falls back to your most recently added credential. Selecting "None"
explicitly skips injection and overrides any repo-declared default.
When the repo declares a preference you cannot satisfy (wrong type,
missing credential), an inline warning explains the fallback.
Settings is split into dedicated subpages: API Keys, Secrets, GitHub,
Claude Code, Codex, and OpenCode. The sidebar expands to show these
when you navigate to Settings. "Integrations" is renamed to "MCP
Servers" throughout the app.
The Repositories page now lists your configured repositories at the
top. Clicking a repository opens its own page (/repositories/<id>)
with the full edit form. Sandbox size/preset and custom Docker image
are grouped under a segmented toggle on the detail page.
Credentials
Slack bot token is now a supported credential type. Add one under
Settings so agents that interact with Slack can authenticate. Slack
bot tokens are shared across your organization (org-scoped) rather
than being per-user.
When a sandbox is created with a missing or unauthorized credential,
the API now returns a descriptive error code (for example,
agent_credential_not_found) that the CLI surfaces directly instead
of a generic failure.
Image management page for uploading and organizing Docker images within your organization
Choose a custom Docker image when creating a sandbox from the new image picker
Sandbox Settings
Configure default sandbox settings per repository from the Edit Repository form
Defaults are applied automatically when creating new sandboxes for that repo
CLI v0.6.0
Authenticate with Amika API keys for headless and CI workflows
--new-branch flag for sandbox create to explicitly create a new branch
Smarter --branch handling with relaxed push checks -- your local branch can be behind remote
Improved error messages when working with unpushed git branches
Script Editor
Height constraint keeps the editor usable in smaller viewports
Full-screen toggle for focused editing
Pylon Integration
Connect Pylon via MCP from the Integrations page
Bug Fixes and Improvements
Fixed sandbox terminal rendering when using Claude CLI
Fixed service-derived environment variable resolution during sandbox creation
April 14 – 15, 2026
Service-derived env vars in config.toml, Codex support for agent-send, and SSH environment improvements.
Service-Derived Environment Variables
Define environment variables in .amika/config.toml that automatically resolve to your sandbox service URLs and ports
Works alongside existing env var types (plaintext values and secret references) in the [env] section
Resolved variables are available in both command execution and SSH sessions
CLI v0.5.2
agent-send now supports Codex agents -- send tasks to Codex-powered sandboxes alongside Claude
Sandbox Improvements
Environment variables (injected, service-derived, and lifecycle) are now written to /etc/environment, making them available in SSH login, interactive, and non-interactive shell sessions
March 30 – April 13, 2026
MCP integrations, multi-agent support, auto-branch creation, CLI improvements, and more.
MCP Integrations
New Integrations page for connecting third-party tools to your sandboxes
Connect Sentry and Linear via OAuth — credentials are automatically configured in your sandbox environment
Manage integrations per-organization from the sidebar
Multi-Agent Support
Connect your own Codex credentials to use alongside Claude in sandboxes
Choose which agent credentials to use when creating a sandbox
Codex CLI is auto-configured in sandboxes when credentials are connected
Sandbox Improvements
Auto-branch creation: A new git branch is automatically created for each sandbox, with the option to override the generated name or use an existing branch
Searchable branch picker in the Create Sandbox dialog
CLI
agent-send now works over the API instead of SSH, with session management for ongoing conversations
Added ls shorthand for list commands (sandbox ls, service ls, volume ls, secret claude ls)
Added rm shorthand for secret claude delete
Added secret codex push, secret codex list, and secret codex delete commands for managing Codex secrets
Added --no-setup flag to sandbox create to skip running setup scripts
Sandbox list is now sorted by most recently created
Fixed shell prompt colors on light terminal backgrounds
Sandbox containers now include .bashrc alongside .zshrc
API
API errors now return structured JSON with consistent error codes
Non-existent API routes return a proper JSON 404 instead of HTML
OpenCode Credentials
Store and manage your OpenCode credentials from the Settings page
Credentials are securely resolved from the vault and injected into sandboxes on create and start
Bug Fixes and Improvements
Sandbox start and stop operations now return immediately with status polling in the background
If sandbox setup fails, the error is now surfaced directly in the UI
Improved sandbox detail page layout with refreshed icons and a proper 404 page
Improved error messages for agent-send authentication failures