Changelog

Latest updates and improvements to Amika.

Snapshots, Slack upgrades, and developer tools

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.

Highlights

  • Versioned API with docs: The Amika API is now available under /api/v0beta1/. Interactive docs are at https://app.amika.dev/api/v0beta1/docs, the OpenAPI schema is at https://app.amika.dev/api/v0beta1/openapi.json, and an LLM-friendly summary is at https://app.amika.dev/api/v0beta1/llms.txt.
  • 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.

API

April 16 – 23, 2026

Custom Docker images, per-repo sandbox settings, CLI v0.6.0, and Pylon integration.

Custom Docker Images

  • 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