Troubleshooting
Enable Debug Logging
Section titled “Enable Debug Logging”dotfiles install tool-name --trace --log=verboseCommon Issues
Section titled “Common Issues”Tool Not Found After Installation
Section titled “Tool Not Found After Installation”- Verify
.bin()is called with correct binary names - Check shim exists:
ls -la ~/.generated/usr-local-bin/tool-name - Ensure PATH includes generated bin directory
Installation Fails
Section titled “Installation Fails”- Check asset patterns match actual GitHub release assets
- Verify repository name is correct
- Use
--trace --log=verboseto see detailed error messages
Infinite Recursion Error
Section titled “Infinite Recursion Error”Message: “Recursive installation detected for [TOOL]. Aborting…”
The installer has built-in recursion guards. If you see this, check that your installation scripts don’t call the tool being installed via its shim.
Disable Shim Usage Tracking
Section titled “Disable Shim Usage Tracking”Shim usage tracking is enabled by default and appends to a local usage log. The dashboard imports and compacts that log into SQLite on startup.
- Disable temporarily for a single command:
DOTFILES_LOCAL_USAGE_TRACKING=0 rg --version - Disable for the current shell session:
export DOTFILES_LOCAL_USAGE_TRACKING=0
Dependency Errors
Section titled “Dependency Errors”Messages: “Missing dependency”, “Ambiguous dependency”, “Circular dependency”
- Ensure every
.dependsOn()references a binary from.bin()in exactly one tool - Verify providers include active platform/architecture for platform-specific configs
Shell Integration Not Working
Section titled “Shell Integration Not Working”- Source shell scripts:
source ~/.generated/shell-scripts/main.zsh - Check for syntax errors:
zsh -n ~/.generated/shell-scripts/main.zsh - Use declarative
.env()instead of inline exports
Completions Not Loading
Section titled “Completions Not Loading”- Check completion file exists in extracted archive
- Reload completions:
autoload -U compinit && compinit - Verify shell completion path is correct
Hook Not Executing
Section titled “Hook Not Executing”.hook('after-install', async ({ log, $ }) => { try { await $`./setup.sh`; } catch (error) { log.error('Setup failed'); throw error; }})$uses tool directory as cwd- Always await
$commands - Handle errors with try/catch
Testing and Verification
Section titled “Testing and Verification”Type Checking
Section titled “Type Checking”bun typecheckInstallation Commands
Section titled “Installation Commands”dotfiles install tool-name # Install by tool namedotfiles install binary-name # Install by binary namedotfiles install tool-name --force # Force reinstalldotfiles install tool-name --trace --log=verbose # Debug loggingdotfiles files tool-name # List generated filesdotfiles check-updates # Check all for updatesFor tools configured with version: "latest", dotfiles check-updates compares the newest available version against
the installed version recorded on disk when installation state is available. If no installed version is recorded yet,
the command falls back to reporting that the tool is configured to track latest.
Verification Steps
Section titled “Verification Steps”- Binary works:
tool-name --version - Shim created:
ls -la ~/.generated/usr-local-bin/tool-name - Shell integration: Source shell scripts and test aliases/environment