0.14.0 (2026-03-18)
- Version alignment release: the Codex-default rollout introduced in
0.13.1is being designated as0.14.0. There are no additional functional changes beyond0.13.1.
0.13.1 (2026-03-18)
- compare: add PDF file comparison support (#63) (b27e82b)
- compare: auto-install poppler for PDF support (#64) (3046322)
- add crab tax plugin (#66) (da92a99)
- default crabcode to codex (#69) (3c4db33)
- deps: update dependency open to v11 (4f717cb)
- Slack-powered promptfoo agent (
crab pf serve): non-technical team members can DM the Crab bot in Slack to run the target discovery agentcrab pf serve --setup— one-time config (Slack username, LLM provider)crab pf serve— starts local polling daemon- Messages prefixed with
pf:trigger the agent; file attachments supported - Results (
promptfooconfig.yaml) posted back to the Slack thread - Each user runs their own daemon with their own API keys — no central server
- Excalidraw plugin (
crab draw): collaborative whiteboarding with real-time collabcrab draw new "name"— create a new Excalidraw sessioncrab draw open "name"— open an existing sessioncrab draw ls— list active sessionscrab draw delete "name"— delete a session (with interactive disambiguation)- Real-time collaboration via Excalidraw's collab protocol
- GPT-5 reasoning support for
crab pf:--reasoningflag withlow/medium/higheffort levels for GPT-5 and o-series models - Court/Review: allow starting fresh when a review session already exists
- crab pf defaults to
openai:gpt-5withreasoning: low(wasopenai:gpt-4o)
- crab pf: test prompts now match provider input format
- crab pf: replaced broken verify step with smoke + session test, improved session handling
- WIP session persistence:
crab wip saveandcrab wip restorenow save and restore Claude sessions across workspace boundaries - Court review improvements: enhanced reviewer and judge prompts to catch silent data corruption
- Release automation: set up release-please for automated releases
- Self-update: bypass GitHub raw CDN cache so
crab updatealways fetches the latest version - Messaging: preserve float precision in listen polling timestamp to prevent missed messages
- P2P Messaging: peer-to-peer messaging with self-hosted relay server
crab msg send @user "message"— send a message to a teammatecrab msg listen— listen for incoming messages- Self-hosted relay via
crab msg relay(no third-party dependencies)
- Text-to-speech: received messages are spoken aloud using system TTS
- Command aliases: user-configurable command alias system
- Define custom aliases in
~/.crabcode/aliases.yaml crab alias add <name> <command>— create aliases for frequently used commands
- Define custom aliases in
- Linear tickets:
crab ticket <ID>opens a workspace from a Linear ticket- Auto-creates branch, sets up workspace, and links to ticket
- env_sync: use config
port_basesinstead of.envextraction to prevent compounding port offsets
- Court Review system: thorough multi-agent PR review with judge pattern
crab court <PR>— spawns Judge (Claude) + Reviewer A (Claude teammate) + Reviewer B (Codex)- Judge orchestrates reviewers, verifies findings by tracing actual code
- Resolves disagreements between reviewers, delivers verdict with zero false positives
- Fun ASCII art intro explaining the 6-phase process
- WIP restore improvements: auto-opens workspace after restore
- Detects if target workspace has uncommitted changes, offers to create new workspace
- Saves original directory to properly detect "already in workspace"
- Review output saving: Claude instructed to save findings to
review-output.mdcrab review lsshows[saved]marker for reviews with outputcrab review show <PR>displays saved review output
- Simplified review system: removed
--with-codexandcollabmodes in favor ofcrab court crab review <PR>now does quick single-agent review (fast, simple)crab court <PR>is the thorough option (judge + 2 reviewers)
- WIP restore now properly opens workspace when run from outside (was checking wrong directory)
- Review sessions now run from session directory so Claude can write output files
-
Session management: track and resume Claude conversations
crab session ls— list sessions with inline summariescrab session start "name"— start new named sessioncrab session resume "name"— resume existing sessioncrab session delete "name"— delete a session- Sessions stored in
~/.crabcode/sessions/<project>/
-
PR Review system: structured PR review with Claude agent teams
crab review <PR>— quick review (number, repo#number, or full URL)crab review new— interactive mode for multiple PRs + custom contextcrab review ls— list review sessionscrab review resume <PR>— resume a review- PR context auto-fetched via gh CLI
crab restartnow fully recreates window layout (fixes missing panes after close)- Team mode always enabled (instructions in .claude/CLAUDE.md)
- Removed
--teamflag (no longer needed)
- Agent Teams integration: team mode always enabled in workspaces
- Team instructions auto-added to
.claude/CLAUDE.md - Claude spawns agent teammates when tasks warrant parallel work
- Team instructions auto-added to
- Environment setup for agent teams feature (
CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS) - Tmux teammate mode for split-pane agent display
- Multi-project support: manage multiple repos from a single crabcode install
crab @alias <cmd>— run any command against a specific projectcrab projects— list all registered projects with tmux statuscrab default [alias]— show or set the default projectcrab initnow asks for a project alias and writes to~/.crabcode/projects/<alias>.yaml
- cwd-based project detection: commands like
crab restartauto-detect which project you're in based on your current directory - Per-project WIP isolation: WIP states stored under
~/.crabcode/wip/<alias>/ - Legacy migration: one-time prompt to migrate
~/.crabcode/config.yamlto the new per-project format with automatic tmux session rename - Project context shown in
config,doctor,status, andhelpoutput
- Config structure: project configs now live in
~/.crabcode/projects/<alias>.yaml - Global config (
~/.crabcode/config.yaml) now only storesdefault_project - Templates use
ALIAS_PLACEHOLDERforsession_name(was hardcodedcrab) - Tmux session names derived from project alias (e.g.,
pf,cb) instead of genericcrab apply_template()accepts a 4thaliasparameter
crab restartfrom a workspace dir now correctly detects the owning project- Legacy config migration no longer clobbers global config on subsequent
crab init
- Promptfoo plugin: target discovery agent for automated LLM evaluation
crab pfcommands for running promptfoo against workspace targets- Auto-detects dependencies and creates provider configs
- CrabQL: announcement banner and product section on landing page
crab destroycommand for tearing down workspaces and cleaning up worktreesinstall_envconfig option for injecting environment variables during workspace setup- ASCII crab mascot throughout CLI output
- Speed up submodule init by copying from main repo instead of network fetch
- Copy
.mcp.jsoninstead of updatingsettings.jsonfor MCP sync - Promptfoo plugin: class-based providers, path handling, install from main branch
- Template system for project-type-aware setup (
crab init -t promptfoo-cloud) - Auto-detection of project type from repo contents
crab init --list-templatesto show available templates.crabcode.yamlin-repo config import during init
- Workspace handoff (
crab handoff,crab receive) - Time travel / snapshots (
crab rewind,crab snapshot) - Live pairing sessions (
crab pair,crab join,crab spectate) - Mobile companion (
crab mobile serve, push notifications) - Slack integration (
crab slack @user "msg") - Toolkit file sharing (
crab tk share) - Mood system and status dashboard (
crab mood,crab status)
- WIP save/restore system with global index
- Port spacing and env_sync with refs
- MCP server sync from main repo
- Shared volume support
- Config scan (
crab config scan) - Doctor diagnostics (
crab doctor)
- Initial release
- Tmux-based workspace management with git worktrees
- Configurable layouts with named panes
- Port management and .env file sync
crab ws,crab restart,crab cleanup,crab destroy