Claude Island v1.3
Claude Island v1.3
Fixes
- Security: socket at
/tmp/claude-island.sockwas world-writable (0o777) — any process could forge hook events. Now owner-only (0o600) (credit: @hobostay #78) - Quit button in the settings menu is now clickable across the full row (credit: @carlovsk #61)
- Settings menu height now fits all rows so Quit is always reachable
- Notification sound no longer plays when a subagent completes (only when the main session finishes) (credit: @akdoan1 #37)
- Spinner/checkmark no longer clipped by the notch curve (credit: @saoudrizwan #26)
- Notch no longer bounces/retracts multiple times when waking from sleep (credit: @gwtaylor #23)
- MCP tool arguments now display
"true"/"false"for booleans (was"1"/"0") (credit: @hobostay #78) - Message IDs are now stable across app launches — no more chat flickering (credit: @hobostay #78)
- Empty assistant messages and thinking blocks no longer render as orphan dots
- Chat view now works when Claude Code uses a custom config directory
New
- Dynamic config directory — auto-detects
CLAUDE_CONFIG_DIR,~/.config/claude/, or~/.claude/. New picker in settings with "Auto-detect" or "Choose folder…" via native macOS folder picker (credit: @bluzername #59, @sachielxsuo #68) - Inline image rendering — base64 image blocks now display in the chat view
- Live subagent tracking — sub-tool calls under an Agent appear in real-time instead of waiting for the Agent to finish
- Token usage per session — shows alongside the session title in the instances list (credit: @ryskin #34)
- Dead-process detection — sessions are marked as ended within ~3 seconds after the Claude process exits (credit: @ryskin #34)
- Phase-based status text — "Processing…", "Ready", "Idle", "Ended" instead of blank or
?(credit: @ryskin #34) - "Agent" tool support — Claude Code renamed
Task→Agent; all parsing, UI, and subagent tracking updated - New Claude Code hooks — registered
PostToolUseFailure,PermissionDenied,StopFailure,SubagentStart,PostCompact
Under the hood
ISO8601DateFormatterreused across JSONL parsing (was being created per message line) (credit: @hobostay #78)- Image base64 decode moved off the main thread
ClaudePathscache is now lock-protected for cross-thread safetyToolCallItem.isSubagentContainerhelper replaces 10+ inline"Task" || "Agent"checks- Settings menu wraps content in a
ScrollViewto handle overflow - Build script no longer fails when
xcprettyis noisy or missing
Minimum requirements
macOS 15.6+
Installation
- Download
ClaudeIsland-1.3.dmgbelow - Open the DMG and drag Claude Island to Applications
- Launch from Applications
Auto-updates
Users on v1.1 and v1.2 will auto-update via Sparkle. Delta patches are generated so the update is small (~557 KB for v1.2 → v1.3).
Thanks to everyone who contributed PRs that landed in this release.