Skip to content

Screens

Onboarding

Shown on first launch when ~/.tide/settings.json does not exist. Lets you pick which agents to configure. Generates a minimal no-auth profile for each selected agent and writes it to ~/.tide/settings.json.

KeyAction
/ / j / kMove cursor
Space / EnterToggle selected agent
cConfirm — write profiles and proceed to task list
Esc / qSkip — proceed without selecting any agents

Task List (default)

The main screen. Shows all tasks with status, schedule, last result, and pending sync state.

Workspace selector

The header subtitle shows the current workspace (▾ <workspace-name> or ▾ all workspaces). Press Tab to cycle through all known workspaces and "all workspaces". The selector is hidden when only one workspace has tasks.

When multiple workspaces are visible ("all workspaces" mode), tasks are grouped by workspace with a section header between groups.

Keyboard shortcuts:

KeyAction
/ / j / kNavigate tasks
EnterOpen Task Detail
TabCycle workspace (current → others → all workspaces)
cCreate new task file in the current workspace (falls back to launch directory when "all workspaces" is selected)
rRun selected task now
eToggle enable/disable
lOpen latest run for selected task
xOpen Runs list for selected task
dDelete selected task (with confirmation)
Ctrl+SSync selected task (if pending)
SSync all pending tasks
nOpen Notifications
sOpen Settings
q / Ctrl+CQuit

Status badges:

BadgeMeaning
runningTask is currently executing
loadedRegistered with launchd, not currently running
disabledPlist has Disabled: true — registered but will not fire
not loadedPlist is missing or was never bootstrapped — re-enable to restore

Sync badges:

BadgeMeaning
● pending create.md file exists but no plist — press Ctrl+S to register
● pending updateA plist-encoded field changed in the .md — press Ctrl+S to apply
○ orphanedPlist exists but its source .md was deleted or moved — press Ctrl+S to remove

Task Detail

Full view of a single task's config and live status. Shows all frontmatter fields, live launchd state, and the last run result.

KeyAction
rRun task now
kKill the running process (shown only when status is running)
eToggle enable/disable
Ctrl+EOpen .md file in $EDITOR (shows error toast if no source file)
Ctrl+SSync task (shown only when a sync is pending)
lOpen latest run for this task
xOpen Runs list
dDelete task
nOpen Notifications
Esc / qBack

Runs

Two-level screen for browsing a task's execution history and logs. Press x to open it from the task list or task detail.

Runs list

Shows all runs newest-first. Each row displays start time, exit code badge, duration, and attempt count.

KeyAction
/ / j / kNavigate runs
Enter / Open run detail
+ / ]Show more runs
- / [Show fewer runs
rRefresh
nOpen Notifications
sOpen Settings
Esc / qBack to task

Run detail

Shows metadata for the selected run (time, exit code, duration, attempts, and parent run ID for follow-ups) and its log output — scoped to that run only. Tide log lines are dimmed; markdown in Claude output is rendered.

KeyAction
TabSwitch between OUTPUT and STDERR tabs
fStart a follow-up run (completed runs only)
oOpen log file in $EDITOR (read-only)
+ / ]Show more log lines
- / [Show fewer log lines
nOpen Notifications
sOpen Settings
/ Esc / qBack to runs list

Log output is refreshed live (via fs.watch) while the task is running, indicated by ● live. For completed runs the output is loaded once.

Notifications

Review pending task-completion notifications. Each entry shows task name, run time, exit code, and output summary.

KeyAction
/ / j / kNavigate notifications
EnterOpen run detail and mark notification as read
dDismiss selected notification
rMark all notifications as read
Ctrl+RClear all read notifications
cClear all notifications (with confirmation)
sOpen Settings
Esc / qBack

Pressing Esc does not clear notifications — you must press c explicitly.

Settings

Configure auto-refresh interval. Profiles (agent auth config) are displayed read-only — edit ~/.tide/settings.json directly to manage them. Changes are written to ~/.tide/settings.json on Enter.

KeyAction
/ Change value
EnterSave settings
Esc / qBack without saving
j / kScroll