v0.6.0
Released: May 27, 2026 Β· Download
β¨ New features
idx server start/stop/status β self-managing daemon
The idx server command is now a full daemon manager. Instead of running idx server in the foreground or using the removed idx daemon subcommands, use the new lifecycle commands:
# Start the server as a background daemon
idx server start
# Check server status
idx server status
# Stop the server daemon
idx server stop
The server runs the file-watch loop internally β no separate idx daemon enable or idx watch process is needed. Stopping the server also stops the watch loop.
idx daemon enable/disable/status are removed. See the daemon migration guide.
idx skills install β fully bundled, no git required
Skills are now bundled directly into the idx binary. Installation requires no network connection, git binary, or external dependencies:
idx skills install claude
idx skills install copilot
idx skills install cursor
Installed skill files are copied from the embedded binary to ~/.<editor>/skills/idx-search/. For claude, "Bash(idx *)" is also added to ~/.claude/settings.json automatically.
π Improvements
More reliable idx destroy
idx destroy now sends idx.destroy to the server via RPC before removing files, giving the server a clean shutdown path. The server daemon is then stopped automatically after destroy completes.
Improved error messages in CLI commands
Error messages for unindexed directories and configuration mismatches now include the offending value and a concrete hint for resolution.
Extensive unit test coverage
This release adds unit tests across CLI commands, progress model, skills installation, config YAML parsing, filesystem ignore matchers, and daemon service adapters. Test coverage is now reported to SonarCloud on every PR.
ποΈ Architecture
- ADR 0020 β
idx serveris a self-managing daemon;idx server start/stop/statusmanage the lifecycle;idx daemon enable/disableremoved; DI cycle between InitCommandService and ServerDaemonService eliminated. InitCommandServicenow accepts aInitCommandServiceDepsstruct to group dependencies, reducing constructor parameter count.IgnoreMatcherFactoryrenamed toIgnoreMatcherBuilderfor consistency with Go naming conventions.