claude-home/productivity/troubleshooting.md
Cal Corum 4b7eca8a46
All checks were successful
Reindex Knowledge Base / reindex (push) Successful in 3s
docs: add YAML frontmatter to all 151 markdown files
Adds title, description, type, domain, and tags frontmatter to every
doc for improved KB semantic search. The description field is prepended
to every search chunk, and domain/type/tags enable filtered queries.

Type values: context, guide, runbook, reference, troubleshooting
Domain values match directory structure (networking, docker, etc.)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 09:00:44 -05:00

447 lines
11 KiB
Markdown

---
title: "Task Manager Troubleshooting"
description: "Troubleshooting guide for the ADHD task manager system covering PATH issues, dashboard display problems, task management bugs, data persistence, Python dependencies, and emergency recovery."
type: troubleshooting
domain: productivity
tags: [task-manager, adhd, dashboard, rich, python, troubleshooting]
---
# Productivity Tools Troubleshooting Guide
## Task Manager Issues
### Problem: Commands not found
**Symptoms**: `task: command not found` or `task-dashboard: command not found`
**Root Cause**: PATH not configured or shell not reloaded
### Solution: PATH Configuration
1. **Verify PATH addition** in `~/.bashrc`:
```bash
grep "task-manager" ~/.bashrc
# Should show: export PATH="$HOME/.claude/tools/task-manager:$PATH"
```
2. **Reload shell configuration**:
```bash
source ~/.bashrc
# Or open new terminal window/tab
```
3. **Test commands**:
```bash
which task
which task-dashboard
# Both should show: /home/cal/.claude/tools/task-manager/[command]
```
### Temporary Workaround
Use full paths until shell reloaded:
```bash
~/.claude/tools/task-manager/task
~/.claude/tools/task-manager/task-dashboard
```
## Dashboard Display Issues
### Problem: Dashboard not updating after CLI changes
**Symptoms**: Run `task dump "something"` but dashboard doesn't show new task
**Root Cause**: File system delay or dashboard not running
### Solution: Verify Dashboard Operation
1. **Check dashboard is running**:
```bash
ps aux | grep dashboard.py
```
2. **Dashboard auto-refreshes every 1 second** - wait briefly
3. **If stuck, restart dashboard**:
- Ctrl+C to stop
- Restart: `task-dashboard`
4. **Verify data file exists**:
```bash
ls -la ~/.claude/tools/task-manager/tasks.json
cat ~/.claude/tools/task-manager/tasks.json
```
### Problem: Dashboard rendering issues (broken characters, layout problems)
**Symptoms**: Terminal shows garbled text, boxes not aligned
**Cause**: Terminal too small or doesn't support Unicode
### Solution: Terminal Requirements
1. **Minimum terminal size**: 80x24 characters
2. **Resize terminal window** to be larger
3. **Ensure Unicode support**:
```bash
echo $LANG
# Should show UTF-8 (e.g., en_US.UTF-8)
```
4. **Test rich library**:
```bash
python3 -c "from rich.console import Console; Console().print('[green]✓[/green] Unicode works')"
```
## Task Management Issues
### Problem: High priority tasks not loading first
**Symptoms**: Low/medium priority task becomes current before high priority task
**Cause**: High priority task already loaded earlier or wrong priority flag used
### Solution: Priority System Understanding
**Priority Order** (automatic):
1. High priority tasks (🔴) - `--high` flag
2. Medium priority tasks (🟡) - `--medium` flag or default
3. Low priority tasks (🟢) - `--low` flag
**Check task priorities**:
```bash
task
# Shows all tasks with priority emojis
```
**Fix task priority** (workaround):
```bash
# Currently can't change priority - delete and re-add:
task next # Skip past wrong-priority task
task dump "correct description" --high # Re-add with right priority
```
### Problem: Task completed but still shows as current
**Symptoms**: After `task done`, same task still in current focus
**Cause**: Command failed or data file locked
### Solution: Verify Completion
1. **Check task status**:
```bash
task
# Should show different current task or empty
```
2. **Check data file**:
```bash
cat ~/.claude/tools/task-manager/tasks.json | python3 -m json.tool
# Look for tasks with status: "completed"
```
3. **Force move to next**:
```bash
task next # Skip to next task manually
```
### Problem: Snoozed task not waking up
**Symptoms**: Task snoozed hours ago but not appearing
**Cause**: Wake-up time not reached or system checks only on command execution
### Solution: Snooze Behavior
**How snooze works**:
- Task marked with future wake-up timestamp
- Next task auto-loaded immediately
- Snoozed task returns to queue when `snoozed_until` time passes
- **Only checked when commands run** (not automatic background wake)
**Trigger wake-up check**:
```bash
task done # Complete current task
# System checks snoozed tasks and loads if ready
```
**Check snoozed tasks manually**:
```bash
cat ~/.claude/tools/task-manager/tasks.json | grep -A 5 '"status": "snoozed"'
```
## Data and Persistence Issues
### Problem: Tasks disappearing or data loss
**Symptoms**: Tasks added but gone after restart
**Cause**: File write permissions or corrupted JSON
### Solution: Data File Verification
1. **Check file permissions**:
```bash
ls -la ~/.claude/tools/task-manager/tasks.json
# Should be writable by user
```
2. **Fix permissions**:
```bash
chmod 644 ~/.claude/tools/task-manager/tasks.json
```
3. **Validate JSON format**:
```bash
python3 -m json.tool ~/.claude/tools/task-manager/tasks.json
# Should show formatted JSON without errors
```
4. **Check for corruption**:
```bash
# Backup current file
cp ~/.claude/tools/task-manager/tasks.json ~/.claude/tools/task-manager/tasks.json.backup
# Try to load with Python
python3 -c "import json; json.load(open('$HOME/.claude/tools/task-manager/tasks.json'))"
```
### Problem: Data file doesn't exist
**Symptoms**: `task` command shows errors about missing file
**Cause**: First run or file accidentally deleted
### Solution: Initialize Data File
**Data file auto-creates on first use**:
```bash
task dump "First task"
# Creates tasks.json automatically
```
**Manual initialization** (if needed):
```bash
cat > ~/.claude/tools/task-manager/tasks.json << 'EOF'
{
"tasks": [],
"last_updated": "2025-01-01T00:00:00"
}
EOF
```
## Python Dependency Issues
### Problem: rich library not found
**Symptoms**: `ModuleNotFoundError: No module named 'rich'`
**Cause**: rich library not installed
### Solution: Install Dependencies
```bash
pip3 install --user rich
```
### Problem: Python version incompatibility
**Symptoms**: Syntax errors or import failures
**Cause**: Python version too old (requires 3.7+)
### Solution: Check Python Version
```bash
python3 --version
# Should be 3.7 or higher
```
If too old, use system Python 3 or install newer version
## Workflow and Usage Issues
### Problem: Forgetting to check dashboard
**Symptoms**: Dashboard running but never looking at it
**Cause**: Not visible enough, muscle memory not formed
### Solution: Visibility Improvements
1. **Use tmux/screen persistent split**:
```bash
tmux split-window -h task-dashboard
# Always visible in split pane
```
2. **Dedicated terminal on second monitor** - always visible
3. **Position terminal window** to always be on top/visible
4. **Build muscle memory**:
- Use `task` command frequently to check status
- Set reminders to check dashboard first 2 weeks
- Terminal placement habit formation
### Problem: Still context switching instead of brain dumping
**Symptoms**: Remembering something and immediately switching tasks
**Cause**: Old habit pattern, not yet muscle memory
### Solution: Habit Building
**Interrupt pattern**:
1. Notice you're about to switch → STOP
2. Type: `task dump "[the thing]"`
3. See it appear in brain dump
4. Continue current work
**Muscle memory building**:
- Put note on monitor: "DUMP DON'T SWITCH"
- First week: Expect to fail, keep practicing
- Second week: Start catching yourself
- Third week: Becomes automatic
**Track progress**:
```bash
task
# Check completed today - celebrate wins!
```
## Performance Issues
### Problem: Dashboard slow or laggy
**Symptoms**: Dashboard updates slowly or terminal sluggish
**Cause**: Too many tasks in JSON file or terminal performance
### Solution: Data Cleanup
1. **Archive completed tasks**:
```bash
# Manual cleanup (create archive script if needed)
# Edit tasks.json to remove old completed tasks
python3 -c "
import json
from datetime import datetime, timedelta
with open('$HOME/.claude/tools/task-manager/tasks.json', 'r') as f:
data = json.load(f)
# Keep only last 7 days of completed tasks
week_ago = (datetime.now() - timedelta(days=7)).isoformat()
data['tasks'] = [
t for t in data['tasks']
if t['status'] != 'completed' or t.get('completed_at', '') > week_ago
]
with open('$HOME/.claude/tools/task-manager/tasks.json', 'w') as f:
json.dump(data, f, indent=2)
"
```
2. **Check terminal performance**:
- Try different terminal emulator
- Reduce dashboard refresh rate (edit dashboard.py)
### Problem: Commands slow to execute
**Symptoms**: `task dump` takes several seconds
**Cause**: Large JSON file or slow file I/O
### Solution: Optimize Data Storage
- Keep tasks.json under 1000 tasks
- Archive old completed tasks monthly
- Consider SSD storage if on HDD
## Integration Issues
### Problem: Dashboard not visible in tmux/screen
**Symptoms**: Dashboard starts but can't see in multiplexer
**Cause**: Rich library rendering issues in some multiplexers
### Solution: Terminal Compatibility
1. **Set TERM variable**:
```bash
export TERM=xterm-256color
task-dashboard
```
2. **Try alternate terminal**:
```bash
# Instead of tmux, try dedicated terminal window
```
3. **Check tmux/screen version** - update if old
## Emergency Recovery
### Complete Reset
```bash
# Stop dashboard
pkill -f dashboard.py
# Backup current data
mv ~/.claude/tools/task-manager/tasks.json \
~/.claude/tools/task-manager/tasks.json.backup
# Reinitialize
task dump "Test task"
# Verify working
task
# Restart dashboard
task-dashboard
```
### Restore from Backup
```bash
# If you have backup file
cp ~/.claude/tools/task-manager/tasks.json.backup \
~/.claude/tools/task-manager/tasks.json
# Verify restore
task
```
### Reinstall System
```bash
# Scripts already installed at:
# ~/.claude/tools/task-manager/
# Just reload PATH
source ~/.bashrc
# Initialize fresh data
task dump "Fresh start"
```
## Common Error Patterns
### "No module named 'task_manager'"
**Cause**: Running Python scripts directly from wrong directory
**Solution**: Use `task` and `task-dashboard` commands, not direct Python execution
### "Permission denied"
**Cause**: Scripts not executable
**Solution**:
```bash
chmod +x ~/.claude/tools/task-manager/task*
```
### Dashboard exits immediately
**Cause**: Python exception or Ctrl+C pressed
**Solution**: Run with error output:
```bash
python3 ~/.claude/tools/task-manager/dashboard.py
# See any error messages
```
## Prevention Best Practices
1. **Keep dashboard running** in persistent pane
2. **Use `task dump` immediately** when thoughts appear
3. **Trust the system** - don't manually organize JSON file
4. **Regular status checks** - `task` command throughout day
5. **Weekly review** - clean up stale tasks
6. **Back up data** - tasks.json to cloud storage
7. **Build muscle memory** - takes 2-3 weeks of consistent use
## Debug Mode
### Enable Detailed Logging
Add to Python scripts if troubleshooting needed:
```python
# In task_manager.py or cli.py
import logging
logging.basicConfig(level=logging.DEBUG,
filename='/tmp/task-manager-debug.log')
```
### Check Logs
```bash
tail -f /tmp/task-manager-debug.log
```
This troubleshooting guide addresses common issues with the ADHD task management system and provides recovery procedures for all known failure modes.