Releases: fredchu/discord-claude-code-bot
Releases · fredchu/discord-claude-code-bot
v0.8.2
Fixes
- Fix bot sessions not appearing in CC's
/resumepicker - CC 2.1.90+ filters
entrypoint:"sdk-cli"sessions from the picker — bot sessions use-pmode which gets marked assdk-cli - After each Claude run, patch session
.jsonlto rewrite entrypoint to"cli", making bot sessions discoverable via/resume
v0.8.1
v0.8.0
Discord-friendly formatting
- System prompt now instructs Claude to avoid markdown tables (Discord cannot render them)
- Two alternative comparison formats: bold key-value lines (default) and code block aligned columns (data-dense)
- Applied to both
SYSTEM_PROMPTandRESUME_SYSTEM_PROMPT
Full changelog: https://github.com/fredchu/discord-claude-code-bot/blob/main/CHANGELOG.md
v0.7.0 — File Attachments
What's New
File attachment support
Send any file in Discord — images, code, PDFs, documents — and Claude Code will read it.
- Type-agnostic design: no per-format handling, Claude Code decides how to process each file via its Read tool
- 10 MB per-file size limit
- Temp files auto-cleaned after response
Full Changelog: v0.6.0...v0.7.0
v0.6.0 — Resume Local Sessions
What's New
/resume-local — Resume terminal CC sessions from Discord
Mobile use case: quit CC in terminal → pick up from Discord on your phone → /handback when you're back.
- Auto-discover sessions from
~/.claude/sessions/PID files +history.jsonl - Select menu shows last prompt + project path for easy identification
- Blocks resume of still-running sessions (must
/quitin terminal first) - Dedicated lighter system prompt for resumed sessions
isLocalResumeDB flag to distinguish bot-created vs resumed threads
/handback — Return session to terminal
Resets the Discord thread and prompts claude --continue to pick up in terminal.
Bug fix: stderr capture
Claude CLI errors now show in Discord instead of bare (no output).
Full Changelog: v0.5.0...v0.6.0
v0.5.0
Features
- Replace
thread-map.jsonwith SQLite (better-sqlite3+ WAL mode) for crash-safe session storage - Auto-migrate existing JSON data to SQLite on first startup (rename
.bakafter success) - Per-entry upsert via
saveEntry()instead of full-file overwrite - Graceful shutdown on both SIGINT and SIGTERM (closes DB properly)
v0.4.2
Fixes
- Rewrite
splitMessagewith segment-based approach — code blocks are never broken across Discord message chunks - Oversized code blocks (>2000 chars) are split and re-wrapped with proper fences on each chunk
- Long AskUserQuestion replies now use
sendChunkedinstead of truncating at 2000 chars
v0.4.1
v0.4.0
Features
- Interactive Discord buttons for AskUserQuestion permission prompts (replaces plain text)
- Button click resumes Claude session with user's choice
- Chained AskUserQuestion support (button → resume → another question → buttons again)
- "Other..." button option for free-text answers
Improvements
- Extract
sendAskButtonshelper to deduplicate button rendering logic - Extract
createToolUseHandlerhelper to deduplicate streaming callbacks - Add Discord customId length guard (
.slice(0, 100)) - Simplify redundant try/catch in button handler reply flow
v0.3.0
Features
- Increase task timeout from 10 to 30 minutes for long-running operations
- Return partial results on timeout instead of empty error
- Show elapsed time in streaming preview (e.g. "working... (2m34s)")
- Display recent tool names in preview (e.g. "🔧 Read → Grep → Edit")