11 / CLI

Your whole workspace. From the terminal.

The routines command does what the app does: read and send email across every connected inbox, check your calendar and Slack, search memory, read meetings, and create or run automations. Connect your accounts once in the app, then drive them all from the shell or just tell Claude to use it. Coming from terminal-first agents? We explained what OpenClaw is and where each approach fits.

zsh — routines

$ routines connectors

Gmaileduard@binarcode.comconnected
Gmaileduard@getroutines.aiconnected
Calendareduard@binarcode.comconnected
SlackBinarCode workspaceconnected

$ routines email search "is:unread newer_than:1d"

3 messages across 2 inboxes

Ana (Acme Ventures)Re: term sheetbinarcode.com
StripePayout sentgetroutines.ai
MihaiBeta feedbackbinarcode.com

$ routines run "Morning brief"--engine claude

Done. Ran on your Claude Code subscription.

Output saved. View it with routines outputs "Morning brief" --last

$

Local reads work anytime · email, calendar & runs go through the app · no account, no cloud sync

Hand it to your agent

No setup. Just tell Claude to use it.

Paste this into Claude Code, Claude Desktop, or Cursor. It installs the skill and starts working your accounts.

First, install the Routines skill once: routines skill --install ~/.claude/skills The `routines` CLI controls my Routines macOS app: it reads and sends email across my connected Gmail accounts, reads my Google Calendar and Slack, searches my notes and meeting transcripts, and creates, runs, and schedules automations. Run `routines skill` for the full command reference and `routines --help` for every command. Reads work anytime; sending, running, and creating go through the running app. Start by running `routines connectors` and `routines list`, then help me triage today's email.

Claude Code

Summarize today's unread email across my accounts, then make it a daily 8am routine.

routines email search "is:unread newer_than:1d"

routines create --name "Inbox digest" --schedule "every day at 8am"

6 unread across 2 inboxes, 2 need a reply. Created "Inbox digest", daily at 8:00 AM, live in your Routines app.

Start a session

Open Claude Code without leaving what you were doing.

Routines can start a real Claude Code session for you, in your terminal or from a goal you typed in plain words, and it can hand an instruction to the Claude side panel in your browser. Terminal and goal sessions run under your own Claude Code sign-in; the browser panel runs in your own browser, as the Claude account you are signed into there.

routines claude terminal

A session in your terminal

Opens Claude Code in the terminal you actually use: iTerm, Ghostty, kitty, Warp, or Apple Terminal. Add a prompt and the session starts on it, `--dir` to open it in a specific folder, `--tab` for a tab instead of a new window where the terminal supports it.

routines claude browser

A session in the browser panel

Sends an instruction to the Claude extension side panel in Chrome, Dia, Arc, Edge, Brave, or Vivaldi, so it works on the pages you are already signed into. `--url` opens the page first. The shortcut that opens the panel is read from your own browser settings, so one you reassigned still works.

routines goal

A goal that keeps going

Type the goal in plain words. Routines opens a terminal session whose first message is `/goal`, then pastes a briefing: use the browser panel for anything behind a login, screenshot the result instead of trusting the panel report, keep polling in the background while a deploy or a DNS change lands, ask before anything irreversible or paid, and never type a password or a verification code.

⌘Enter

Whatever you just copied

In your clipboard history, select a copied text row and press ⌘Enter. It opens a new Claude Code session with that text as the starting prompt. The terminal icon in the preview header does the same thing.

Or just ask in chat

Tell the assistant to start a session, or to run something in the browser panel, and it launches it for you. Turn on Safe computer tools first.

The terminal and goal launches need Claude Code installed on the Mac. The browser panel needs the Claude extension installed in the browser you pick. All of it is macOS only.

01

Everything the app can do

`routines tools list` shows every action the app exposes; `routines tools call` runs any of them with JSON arguments. Email, calendar, Slack, memory, meetings, and routines, the same capabilities as the UI, now scriptable.

02

Email across every inbox

Connect work and personal Gmail in the app, then search them all at once or scope to one with --account. Send mail with attachments, cc, and bcc from the account you choose, and download attachments straight to a folder.

03

Calendar, Slack, memory, meetings

`routines calendar today` and `week`, `routines slack messages`, `routines memory search`, `routines meetings show`. Read your whole working context from the shell, combined across accounts or one at a time.

04

Create, run, and manage routines

list, show, create, edit, run, enable, disable, delete. Schedules in plain English or --cron. Pick the engine per run: the AI included with your account, your Claude Code subscription, or the API key configured in the app.

05

Just tell Claude to use it

Install the skill once with `routines skill --install ~/.claude/skills`, then talk to Claude normally, it runs the CLI for you. `routines agent-docs` prints a CLAUDE.md snippet, and `routines mcp` exposes everything over MCP if you prefer that.

06

Local, and never your key

Reads of routines, outputs, memory, and meetings hit your local database and work even with the app closed. Connector actions and runs go through the running app, so the CLI never touches your API key or your tokens. Install it from Settings, no package manager.

Your terminal, meet your workspace.

Email, calendar, Slack, memory, meetings, and automations, from the shell or from Claude. All of it local.

Download