All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
2.3.0 - 2026-03-03
- Channel Monitoring (#17): Watch a Discord channel for bot/webhook messages and auto-trigger a Claude investigation in a thread. Messages are batched over a 30-second debounce window. Requires
MONITOR_CHANNEL_IDandMONITOR_BOT_IDSenv vars and the Message Content privileged intent. - Thread-per-Session (#19): New
/claude-threadcommand starts each conversation in a dedicated Discord thread with a custom name. - Per-Channel Session Tracking: Regular
/claudecommands in the same channel automatically reuse the last session — no need to passsession_idmanually. - Custom Thread Names:
/claude-thread name:"Fix auth bug" prompt:"Review the auth module"creates a thread titled "Fix auth bug". - Thread-Aware Channel Detection: Commands work correctly inside session threads (bot recognizes the parent channel).
discord/session-threads.tsadded —SessionThreadManagerhandles thread creation, lookup, and lifecyclediscord/types.ts—InteractionContextnow exposesgetChannelId()for per-channel session mappingcore/handler-registry.ts—channelSessionMapmaintains channel → session mapping.env.exampleupdated with Channel Monitoring section
2.2.0 - 2025-07-18
- Version in /status: Shows bot version (e.g.
v2.2.0) and update status in the/statusembed - Periodic Update Checks: Automatically checks for updates every 12 hours and notifies in Discord
- Semver in Startup Embed: Startup message now shows version number
- BOT_VERSION Export:
deno.jsonversion read at startup and available throughout codebase
- Dockerfile Optimized: Removed unnecessary Node.js and
@anthropic-ai/claude-codeCLI install — bot uses SDK directly via Deno imports, reducing image size
deno.jsonversion bumped from1.0.0to2.2.0(was not updated for v2.1.0)- CHANGELOG legacy reference to deprecated CLI corrected to
@anthropic-ai/claude-agent-sdk
- Interactive Permission Requests: Allow/Deny buttons in Discord when Claude wants to use an unapproved tool (replaces CLI TUI prompt, makes
defaultandacceptEditsmodes fully usable) - Settings Autocomplete:
/settingsaction and value fields now show dropdown suggestions based on selected category - Fast Mode (
/fast): Toggle Opus 4.6 speed-optimized API config (2.5x faster, same quality) - AskUserQuestion Handler: Claude can now ask clarifying questions mid-session via Discord buttons
- Startup Buttons: Quick-action buttons on the startup embed (Status, Sessions, Help, Shutdown)
- MCP Mid-Session Management (
/mcp toggle,/mcp reconnect): Enable/disable or reconnect MCP servers without restarting - Granular Sandbox Config: Full SDK SandboxSettings support (network rules, filesystem ACLs, excluded commands, violation ignoring)
- Additional Directories: Multi-repo access via
additionalDirectoriessetting - Fork Session: Branch conversations into new sessions via
forkSessionoption - Hooks System: Passive SDK callbacks for tool use, notification, and task completion observability
- stopTask(): Stop background tasks mid-session via
/claude-control action:stop-task - Agent Teams:
CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1env var support withdelegatepermission mode - stop_reason Display: Shows why Claude stopped (end_turn, max_tokens, stop_sequence) in completion embeds
- Tasks Env Var:
CLAUDE_CODE_ENABLE_TASKS=1automatically set for background task support - Known Issues Documentation:
docs/known-issues.mddocumenting 22 accepted risks
/continuerenamed to/resumefor clarity/claude-settingsand/output-settingsremoved — consolidated into/settings(usecategory:claudeorcategory:output)- Button UX overhaul: consistent styling, proper disabled states, contextual labels
- Settings display now shows SDK features (hooks, agent teams, sandbox config, additional dirs)
- Help system updated with all new command documentation
- Getter pattern for
claudeControllerprevents stale abort controller references - Abort state checks prevent sending to cancelled sessions
- Continue button properly resumes the last session
- Pagination titles show correct page info
- Unicode-safe message splitting prevents mid-codepoint truncation
2.0.0 - 2026-02-18
- Migrated from deprecated
@anthropic-ai/claude-codeto@anthropic-ai/claude-agent-sdkv0.2.45 - Default model no longer hardcoded; SDK auto-selects the best available model
- Mid-Session Controls (
/claude-control): interrupt, change model, change permissions without restarting - File Rewind (
/rewind): undo file changes to any conversation turn with dry-run preview - Structured Output: force JSON responses matching a configurable schema
- Info Commands (
/claude-info): view account info, available models, MCP server status - Dynamic Model Discovery: auto-fetches models from Anthropic API and CLI at startup
- 1M Token Context Beta: opt-in extended context window
- File Checkpointing: enables rewind support for file changes
- Sandbox Mode: run Claude in a sandboxed environment
- Startup Version Check: compares local commit vs GitHub, sends Discord notification if behind
- GHCR Docker Publishing: GitHub Actions workflow builds and pushes images on every push to main
- Watchtower Support: auto-update Docker containers when new images are published
- DRY Documentation: README slimmed to hub, 7 focused doc files in
/docs - OS-Specific Install Guides: separate instructions for Linux/macOS, Windows, Docker
- SDK integration uses
AsyncGenerator<SDKMessage>streaming instead of CLI subprocess - Agents converted to native SDK
AgentDefinitionformat - Normal permission mode uses
acceptEditsinstead ofdefault - All settings (thinking, effort, system prompt, permissions, git context) now wired to SDK
- Dockerfile includes Node.js 20 and Claude CLI
ANTHROPIC_API_KEYpassthrough added to Docker Compose
- Duplicate "Claude Code Complete" embeds per query
- Model default causing rate limit fallback to haiku
- Settings not being passed through to SDK queries
1.0.0 - 2026-02-05
This is the first stable release of Claude Code Discord Bot - a Discord bot that brings Claude AI capabilities to your Discord server.
/claude- Chat with Claude AI with thinking modes/continue- Continue previous conversations/claude-cancel- Cancel ongoing requests
/claude-enhanced- Advanced Claude with model selection/claude-models- List available Claude models/claude-sessions- Manage conversation sessions/claude-context- View and manage context
/claude-explain- Get code explanations/claude-debug- Debug code issues/claude-optimize- Optimize code performance/claude-review- Code review assistant/claude-generate- Generate code snippets/claude-refactor- Refactor code/claude-learn- Learn programming concepts
/todos- Task management with priorities and persistence/mcp- Model Context Protocol server management (reads from.claude/mcp.json)/agent- 7 specialized AI agents
/settings- Unified settings management/claude-settings- Claude-specific settings/output-settings- Output formatting options/quick-model- Quick model switching
/git- Execute git commands/worktree- Create git worktrees/worktree-list- List all worktrees/worktree-remove- Remove worktrees/worktree-bots- Manage worktree bots/worktree-kill- Kill worktree processes
/shell- Execute shell commands/shell-input- Send input to running processes/shell-list- List running processes/shell-kill- Kill processes
/system-info- System information/processes- Process listing/system-resources- Resource usage/network-info- Network information/disk-usage- Disk space info/env-vars- Environment variables/system-logs- System logs/port-scan- Port scanning/service-status- Service status/uptime- System uptime/screenshot- Capture screen (Windows/macOS/Linux GUI)
/status- Bot status/pwd- Current directory/shutdown- Graceful shutdown/help- Command help
7 specialized AI agents for different development tasks:
- Code Reviewer - Quality analysis and security review
- Software Architect - System design and architecture
- Debug Specialist - Bug analysis and troubleshooting
- Security Analyst - Vulnerability assessment
- Performance Engineer - Optimization and profiling
- DevOps Engineer - Deployment and infrastructure
- General Assistant - Multi-purpose development help
- Docker Support - Production-ready Dockerfile and docker-compose.yml
- Cross-Platform - Windows, macOS, and Linux support
- Persistence - Todos, sessions, and settings persist across restarts
- Branch-Aware - Automatic channel organization by git branch
- Secure - Runs as non-root user in Docker, resource limits
- Reads server configurations from standard
.claude/mcp.jsonfile - Add/remove/test/list MCP servers via Discord commands
- Cross-platform command testing (Windows
where/ Unixwhich)
- Built with Deno 2.x and TypeScript
- Uses Discord.js 14.14.1
- Claude API via @anthropic-ai/claude-agent-sdk