Changelog

Latest updates and improvements to Amika.

Web chat for coding agents

Talk to Claude or Codex from the browser. Replies stream in as they're written, chats render as Markdown, and every session is backed by a sandbox you can start fresh or pick from the ones you already have.

Overview

Web chat for agents is here. Talk to Claude or Codex from the browser, watch the reply stream in as it's written, and pick the conversation back up later. Chats live under Agent Chats in the sidebar, and every sandbox page can start one or reopen an old one.

What's new

Agent Chats

Each agent chat session is linked to a sandbox, and a sandbox can have multiple concurrent agent chat sessions.

Send a message on a new session and Amika spins up a sandbox for you automatically, or select an existing sandbox and open a new chat session there.

  • Replies stream in real time. The agent's answer arrives token by token instead of appearing all at once when the turn ends. The amika send CLI shares the same send path, so it streams too.
  • Chats render as Markdown. Bold, italics, inline code, fenced code blocks with language labels, lists, headings, links, and tables all render properly.

Sandboxes

  • Start a chat against a sandbox you already have. "New Agent Chat" on the sandbox page opens a chat routed into that sandbox instead of provisioning a fresh one. The repo is already known, so there's no picker to fill out.
  • Past chats are listed on the sandbox page. A Chat sessions section below Coding Agent shows that sandbox's earlier conversations with a message preview, agent, status, and last-updated time. Click one to reopen it.
  • The pi harness is available in sandboxes, alongside claude, codex, and opencode.

Elsewhere

  • Clickable table rows work from the keyboard. Sandboxes (list and grouped views), repositories, Slack installations, and chats are all focusable and open on Enter or Space.

Linear integration, a new SSH layer, and cross-repo snapshots

Assign a Linear ticket to Amika and it works the issue end to end, plus a rebuilt SSH layer with per-user key auth, sandbox services you can create on the fly, snapshots that work across repositories, and a web app that finally works on mobile.

Overview

Amika works in Linear now. Assign a ticket and it reads the issue, picks the repo, does the work, replies in the thread, and moves the ticket across your board.

Sandboxes get a rebuilt SSH layer with per-user key authorization, services you can expose at any time instead of only at creation, and snapshots that are no longer tied to the repository they were captured on.

The web app also works on mobile now, so you can kick off a run or check on one from your phone. Web terminal and web chat for agents are coming soon.

What's new

Linear

  • Assign a ticket to start a run. Amika moves it from To Do to In Progress when it picks up the work, and to In Review when it finishes.
  • It reads the ticket. The issue title, description, and labels go into the first turn, so the agent works the actual ticket instead of a bare mention.
  • repo: labels route work. Label an issue repo:api and Amika works in that repo, overriding your org default.
  • One sandbox per ticket. Every comment on an issue shares a single sandbox and one continuous agent context, so follow-ups pick up where the last one left off.
  • Connect from the integrations page, where you can also set the default repository and coding agent for tickets that don't specify one.

SSH

  • A real SSH layer. amika sandbox sshv2 opens an interactive shell, or runs a single command with amika sandbox sshv2 <name> <command>. amika scpv2 copies files, and sftp works too. Your ssh flags pass straight through, so port forwards work like they do anywhere else. Running a one-off command and copying files both failed on the old layer.
  • Per-user key authorization. Access is granted by public key per user, so you control exactly who can reach a sandbox.
  • Manage your SSH keys from the new settings page, or stay in the terminal: amika secret ssh-keygen creates and uploads a key, and amika secret ssh-key list and delete handle the ones you already have.
  • Cursor, Claude Desktop, and Codex all open from amika sandbox codev2.

Sandboxes

  • Create services on the fly. Sandbox services used to be fixed at creation time. Now amika service create exposes a new service on a running sandbox and gives it a real URL.
  • Snapshots work across repos. A snapshot used to be locked to the repository it was captured on. Now any snapshot can start any sandbox, so one setup can be shared across all your repos. Manage them under Settings, Sandboxes.

Elsewhere

  • No more GitHub PATs. Connect your GitHub account and start creating sandboxes. There's no personal access token to generate, paste, or rotate.
  • Personal API keys, alongside the organization-scoped ones, so sandboxes and agents act as your user with your settings.
  • --output json on the CLI commands that return data, in the same shapes the API returns. Commands that open a shell, an editor, or a browser stay interactive.
  • The web app works on mobile. The dashboard, sandbox pages, detail panels, forms, and menus all lay out properly on a phone instead of squishing.
  • In-app support chat, reachable from anywhere in the app.

Sandbox file transfer, snapshots, and live setup status

Copy files to and from sandboxes with amika scp, manage sandbox snapshots from the CLI and TypeScript SDK, watch live setup progress, and open any sandbox directly in CMUX.

Overview

This release adds amika scp for moving files into and out of a sandbox over SSH, and brings sandbox snapshots to full parity across the CLI and TypeScript SDK so you can capture a sandbox and reuse it as a starting point elsewhere. Sandbox status is now more accurate and visible, with live setup progress as a sandbox comes online, and sandboxes are more resilient to setup and shutdown hiccups. You can also open a sandbox directly in CMUX.

What's new

File transfer

  • amika scp: Copy files to and from a sandbox over SSH with a single command. It supports the SSH options you'd expect — host keys, jump hosts, IPv6 addresses, custom ports, and more — so it drops into existing SSH-based workflows.

Snapshots

  • Snapshot management: Create, list, and delete sandbox snapshots with amika snapshot create, list, and delete, and start a new sandbox from a saved snapshot with sandbox create --snapshot.
  • TypeScript SDK support: Snapshots are now available in the TypeScript SDK too, so you can capture and restore sandbox state from your own code, not just the CLI.

Visibility

  • Live setup progress: The sandbox list and detail pages now show real-time progress while a sandbox is being prepared, and refresh automatically until it's ready.
  • Open in CMUX: Launch a sandbox directly in CMUX from the sandbox page (Daytona sandboxes only).

Reliability

  • Sandbox status is now more accurate and consistent across providers, with a clear distinction between a sandbox that's spinning up and one that's finished setting up.
  • Sandboxes stay usable even if VM initialization fails partway through.
  • Stopping a sandbox is more reliable, including for sandboxes that are still starting up or already suspended.
  • General improvements to sandbox startup reliability.

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