.beads/ files to the repository. Perfect for personal use on shared projects or when you don’t want Beads artifacts in version control.
When to use stealth mode
Use stealth mode when:- Personal tracking: Using Beads for your own planning on a project that doesn’t use Beads
- Experimentation: Testing Beads before committing to it for the team
- Shared projects: Working on projects where adding
.beads/would be controversial - Privacy: Keeping your task management private
Setting up stealth mode
Initialize with --stealth flag
Navigate to your project and initialize Beads in stealth mode:This:
- Creates
.beads/directory - Adds
.beads/to.git/info/exclude(local gitignore) - Sets
no-git-ops=truein config - Disables automatic git hooks
How stealth mode works
Stealth mode uses.git/info/exclude instead of .gitignore:
- ✅
.beads/is ignored by git - ✅ No
.gitignorechanges in your commits - ✅ Other contributors don’t see
.beads/in their status - ❌ Stealth mode doesn’t sync to other machines
Configuration
No-git-ops flag
Theno-git-ops config prevents git operations:
no-git-ops=true:
- No automatic git commits
- No git hooks installed
- No backup git push operations
- Database operations are local-only
Protected branches
Stealth mode disables protected branch features:Using stealth mode
Creating and managing issues
Use Beads normally:Viewing issues
All query commands work normally:Syncing across machines
To sync between machines:Converting to/from stealth mode
Enabling stealth mode on existing repo
Disabling stealth mode
Backup and recovery
Since stealth mode is local-only, backup is critical:Manual backup
Automated backup
Set up cron job for regular backups:Recovery
Stealth mode with teams
Personal stealth, team uses Beads
Scenario: Team uses Beads, you want personal issues in stealth mode. Solution: Use contributor mode instead:Everyone uses stealth
Scenario: Team wants to use Beads without committing.beads/.
Problem: No sync, everyone’s issues are isolated.
Solution: Use protected branches instead:
Limitations
No automatic sync
Stealth mode has no sync:- ❌ No Dolt push/pull
- ❌ No git integration
- ❌ No automatic backups
- ✅ Manual export/import works
No cross-machine consistency
Issue IDs may collide:--prefix to avoid collisions:
No multi-writer support
Stealth mode is single-writer:- ❌ No concurrent access
- ❌ No server mode
- ✅ Single agent/user only
Comparison with other modes
| Feature | Stealth Mode | Contributor Mode | Normal Mode |
|---|---|---|---|
| Git tracking | No | Separate repo | Yes |
| Sync | Manual only | Independent | Automatic |
| Team use | No | Yes | Yes |
| Privacy | Complete | Personal issues only | None |
| Setup | Simple | Moderate | Simple |
| Backup | Manual | Git-backed | Git-backed |
Best practices
For stealth mode users
- ✅ Set up automated backups (cron or similar)
- ✅ Export before major changes or experiments
- ✅ Use unique prefixes if syncing between machines
- ✅ Document that you’re using stealth mode (for future you)
- ❌ Don’t rely on stealth mode for critical data without backups
- ❌ Don’t use stealth mode for team collaboration
When to switch modes
Switch from stealth to contributor when:- You want sync across machines
- You’re working on a fork and want to avoid PR pollution
- You want git-backed persistence
- Team adopts Beads
- Project is personal/you control it
- You want full git integration
Troubleshooting
.beads/ appearing in git status
Diagnosis:Lost issues after machine crash
Problem: Stealth mode is local-only, no backup. Solution: Restore from backup:ID collisions after import
Problem: Two machines generated same ID. Solution: Use doctor to detect and fix:See also
- Contributor mode - Better for team projects
- Sync and backup - Dolt push/pull workflows
- Installation - Setup and configuration