Features¶
This page provides a condensed reference for all jott features. See Quick Start for basic usage.
Notes¶
Attach detailed notes to any task with Shift+N. Notes open in your
$EDITOR and support rich text, code snippets, and links.
Tasks with notes display a pencil icon.
Press Shift+N again to edit existing notes.
Clear all content to remove notes.
Notes are preserved when moving tasks between projects.
Inline notes display can be toggled with .f, showing up to 3 lines of notes directly in the task list with box-drawing characters.
Subtask Sync from Notes¶
Add org-mode checklists to notes to create subtasks automatically:
- [ ] Set up database schema
- [ ] Write API endpoints
- [X] Create project skeleton
On save, unchecked items ([ ]) are created as subtasks with parent:{id}
labels. Already-checked items ([X]) are skipped — they won’t create new
tasks. If you check an item after it was synced, re-saving updates its status to
done. Re-saving is safe — duplicates are prevented by text matching.
Press Ctrl+S for manual sync without opening the editor.
Parent/Subtask Visual Indicators¶
Parent/subtask relationships are visible in the task list:
[ ] 10. Build auth system (3 subtasks)
[ ] 11. ↳ Research API options
[ ] 12. ↳ Write implementation plan
[ ] 13. ↳ Set up dev environment
Subtask prefix: Dim
↳arrow before subtask textParent suffix:
▼ (N subtasks)expanded or▶ (N subtasks)collapsedRecursive depth: Nested subtasks show deeper arrows (
↳↳)Press Ctrl+L to assign a parent task via interactive picker
Collapse / Expand Subtasks¶
Press .s (leader chord: . then s within 500ms) to toggle subtask
visibility:
[ ] 10. Build auth system ▶ (3 subtasks)
[ ] 14. Unrelated task
Collapsed parents show yellow
▶ (N subtasks)Expanded parents show dim
▼ (N subtasks)Navigation automatically skips hidden children
State is ephemeral — resets each session (no data changes)
Pressing
.followed by any other key types normally
Fuzzy Search¶
Press Ctrl+F in quick-add mode to search tasks by partial text. Matches can be non-contiguous characters (e.g., “aut” matches “authentication”).
Up/Down to navigate results
Enter to select (makes it current)
ESC to cancel
Multi-Select Mode¶
Press Shift+V to enter multi-select mode for bulk operations:
Space to toggle selection on individual tasks
Perform delete, move, archive, or priority changes on all selected tasks
ESC to exit
The footer shows the count of selected tasks.
Moving Tasks Between Projects¶
Press .m to move the current task to another registered project. A fuzzy-search picker lets you find projects quickly. Most-used projects appear first via usage tracking. All metadata is preserved during the move.
When moving a parent task with subtasks, jott automatically gathers all
descendants and moves them along, remapping parent:{id} labels to the new
IDs in the destination. You’ll be prompted to confirm (e.g., “Move task + 3
subtasks to project-x?”). The same applies to .k (copy) and Ctrl+T
(category transfer).
Google Calendar Integration¶
Bidirectional sync between jott and Google Calendar. See Configuration for setup.
Export (.G)¶
Choose between exporting the current task or bulk-exporting all tasks assigned
to today. Time tags in military format (HHMM) set the event start time:
Team standup 0930 → 9:30 AM - 9:45 AM
Events are created with 15-minute duration in your primary calendar.
Import (Shift+I)¶
Fetch calendar events and cherry-pick which to import as tasks. Choose direction (past/future/today) and number of days (1–7).
Timed events import with a calendar icon
All-day events import with a date icon
Interactive checkbox picker for selection
Re-authenticate (Shift+3)¶
Force OAuth re-authentication when tokens expire or when switching accounts.
Keyword Automation¶
Add tasks with keyword: task text to trigger automatic actions:
Keyword |
Action |
Auto-Trigger |
|---|---|---|
|
Export to Google Calendar |
Yes |
|
Mark for AI/agent |
Yes |
|
Analyze with Claude Code |
Yes |
|
System notification |
No |
|
Broadcast to all projects |
Yes |
Aliases let you use shortcuts (e.g., claude: for ai:).
Claude Code Analysis¶
Break down complex tasks with AI using the analyze: keyword:
analyze: Implement OAuth refresh token system
Pressing Enter triggers Claude Code analysis in plan mode and writes a
.jot.analysis.{id}.org file with subtask breakdown, technical approach,
complexity estimate, and risk assessment. Tasks with analysis files show a
clipboard indicator. Agent tasks show a robot indicator.
AI Task Suggestion¶
Press Shift+4 for AI-powered task suggestions based on your current task list and project context.
Broadcast to All Projects¶
Add a task to every registered project:
jott --all "Update dependencies"
Or use the all: keyword in interactive mode. Both methods require
confirmation before broadcasting.
Visual Styling¶
jott uses color to enhance the interface:
Current task: Cyan + bold with sparkle icon
“Take a break” task: Green + bold with leaf icon (calming visual reminder)
Highlighted task: Black text on bright yellow background
Quick-add mode footer: Green
Command mode footer: Yellow
Task Highlighting¶
Press * (Shift+8) to open the highlight color picker with 7 colors (gray, yellow, orange, magenta, cyan, red, green). Press ~ for a quick toggle with the default color (yellow). Multiple tasks can be highlighted simultaneously. Highlight applies to the task ID number only and persists across sessions.
Smart Deletion¶
Deleting a task automatically sets the previous task as current, keeping you in flow. Edge cases (first task, last task, only task) are handled gracefully.
Cross-Project Task Routing¶
Send tasks to projects from the CLI:
jott rubber-ducky-live 'implement OAuth refresh tokens'
jott --list-projects
jott --all-projects
Auto-discovery scans ~/projects/ on first run. Use --refresh to
re-scan. Projects are also auto-registered when you open them with
jott if they contain a .jot.json file but aren’t in the registry yet.
MCP Server¶
jott includes a Model Context Protocol server for integration with Claude Code and other AI assistants. Install with:
pip install jott-cli[mcp]
See MCP — Model Context Protocol Server for the API reference.