Operations
The terminal dock and jobs, the activity log, reports, archives, fleet users, your profile and settings.
This page covers the screens you use to run work across the fleet and to keep the Manager itself configured.
The terminal dock
The dock is the console. Open it with ⌃`, the terminal button in the top bar (title="Terminal · ⌃“`), the jobs pill, Open terminal in the command palette, or Open terminal in a site’s right-click menu.
It is a panel in the bottom right corner headed Activity with a running count.
Picking targets
The chip above the input (title="Select target environments") reads Select target when nothing is chosen, the environment name when one is, or 12 environments selected. Clicking it opens a picker with a Search targets… box, a count line and a Clear link, listing every fleet environment with its home URL.
Several screens preselect targets for you:
- The Sites screen’s Console · N chip targets every filtered site’s production environment.
- The bulk actions bar’s Open in console targets your hand-checked selection.
- An account’s Open all in terminal targets every environment on every site in that account.
- A security threat’s Open in terminal (targets prefilled) targets every affected environment.
With nothing explicitly selected and a site open, the command runs against that site’s current environment.
Cookbook recipes
A recipe is a stored bash or WP-CLI script. The Cookbook button (title="Cookbook recipes") opens a searchable list, each row labelled either “public recipe” or “private”.
Picking a private recipe inserts its content into the terminal input so you can read it before running. Picking a public or system recipe never shows the code: it opens a Run recipe confirm asking “Run
Recipes are created and edited on the Settings screen’s Cookbook tab.
Running and streaming
The input is a multi-line textarea reading Run a command across the fleet…. Enter adds a newline and ⌘⏎ runs. The hint line reads “⌘⏎ run · ⌃` toggle”.
Running dispatches one job across every selected environment and streams its output back live. Console lines are colour-coded, and hovering any line reveals a copy button. Right-click a job row for Copy output and, while it is running, Cancel job.
The dock keeps one activity row per target set. Running again against the same set appends to that session; a different set starts a new row. Clicking a session row also adopts its target set, so you can pick up where you left off.
A Schedule button appears beside Run once you have typed something. It opens a dialog with a date and time in your own timezone and queues the command to run once on each selected target. Those land on each site’s Activity → Scheduled tab.
Jobs
Background work becomes a job. Each dock row shows a status dot, the job label, its target and either a percentage or “just now”. The strip caps at a few rows with a + N more expander.
The top bar shows a pulsing pill while anything runs, reading “1 job running” or “6 jobs running”. If the only thing running is a single fleet bulk run, the pill reads its live progress instead, for example update · 47.1%.
Fleet processes
Bulk runs started from the CaptainCore CLI on the fleet server appear as their own strip inside the dock, above the jobs. Each row shows the command, the site count, a progress bar and a readout of 545/1157 · 47.1% · ETA 27m. A run that has stopped gets a Stale chip and a dismiss control.
Clicking a row opens the process detail dialog: the command, the completed and total counts, a progress bar, and stats for Elapsed, ETA, Parallel, Failed, PID and Target, plus the run’s arguments. Tabs below read Pending, Completed and, when there are failures, Failed, each listing the sites. The footer offers Kill process while it is running or Dismiss when it is stale. When a run finishes, a toast says so.
Activity
The Activity screen is the fleet-wide event log, headed Fleet activity with an event count in the top bar.
It is a feed rather than a table. Each row shows a relative time, the actor’s avatar (a gear glyph for automated rows), the description, the actor’s name, and a type chip mapping the entity to DNS, Site, Domain, Account, Deploy, Email, File or Security.
Paging is 100 at a time with ← Newer and Older →.
The actions tracked are:
| Action | Entity | Trigger |
|---|---|---|
created |
site | New site created or provisioned via a provider |
updated |
site | Site settings updated |
deleted |
site | Site marked inactive |
shared / unshared |
site | Site shared with or removed from an account |
requested_removal / cancelled_removal |
site | Removal requested or cancelled |
locked / unlocked |
domain | Domain transfer lock changed |
updated |
domain | Nameservers changed |
transferred |
domain | Transfer initiated |
deleted |
domain | Domain deleted |
created |
email_forward | Email forwarding activated |
created / updated / deleted |
dns_record | DNS record changed |
toggled |
environment | Environment setting toggled |
deployed |
environment | Deploy to production or staging |
invited |
account | User invited to an account |
Each entry records the user, IP address, account context, entity type and id, a name snapshot that survives the resource being deleted, a description and a JSON context with old and new values. Administrators see everything; other users are scoped to their own accounts.
Account-scoped activity also appears on each account’s Activity tab.
Reports
The Reports screen sends maintenance reports and schedules recurring ones.
The toolbar at the top builds an ad-hoc report. Choose Site or Account, pick the target, pick a date range from Last month, Last quarter or This year, and set the recipient. Preview renders the report in a dialog so you can read it before sending; Send report asks to confirm, then sends.
Below that, the Scheduled reports card lists recurring reports. Each row shows the target, an interval chip, the next run date and the recipient, with Edit and Delete.
To create one, set up the toolbar the way you want it, choose an interval, and click + Schedule current selection. Intervals are Monthly, Quarterly and Yearly.
A scheduled report covers the previous period: last calendar month, last quarter or last year. Reports run early morning on the first day of the new period. They cover updates, backups, visits and process logs.
Sending is driven from cron with wp captaincore scheduled-reports send rather than WordPress cron, which times out on the work involved.
Archives
Archives is an operator screen listing the .zip archives stored in long-term Backblaze B2 storage.
The toolbar has a Filter archives… box that matches the filename or a yyyy-mm-dd date, and a count line reading something like 5035 archives · 6.6 TB on Backblaze B2. Very large result sets render the first 500 rows and tell you to filter further.
Each row shows the filename, the size, the modified date and one action: Share link (7d), which mints a signed seven-day link and copies it to your clipboard, flipping to Copied ✓. That link is also how you download an archive.
A store bar takes a .zip URL and a Store archive button, which fetches the archive into storage and reports progress inline.
A footer note reads “Share links are valid for 7 days (Backblaze B2).”
Users
The Users screen is operator-only and lives at /account/users, so it can be bookmarked and reached directly. It lists the WordPress users of the Manager install, not the users on managed sites.
The search box is labelled Filter users… and matches name, username and email. Columns are Name (display name over username), Email, Accounts (clickable chips) and Role. Rows show the person’s Gravatar when they have one, falling back to an initials monogram.
At the end of each row is a button titled Access as this user, which signs you in as them. The same action is in the row’s right-click menu as Access as
+ Add user in the top bar opens a dialog with First name, Last name, Email, Username and an Accounts typeahead. New users are created as subscribers with a generated password and get a welcome email. Right-click a row and choose Edit user to change a person’s details or account membership.
Profile
Profile is self-service and available to every role.
The details card takes your Name, Display name, Email and an optional New password (leave blank to keep the current one), saved with Save profile. A Change photo on Gravatar ↗ link handles avatars.
Two-factor authentication
The Two-factor authentication card carries an On or Off chip. Click Enable to start setup. The panel shows the secret for manual entry with the instruction “Add this secret to your authenticator, then enter the 6-digit code.” Enter the code and click Activate. To turn it off, click Deactivate.
Application passwords
Application passwords are revocable credentials for the API and CLI, used over HTTP Basic auth. Each row shows its name, when it was created and when it was last used, with a Revoke button.
To create one, name it in the field reading “Name — e.g. CaptainCore CLI, coding agent” and click + New password. The password appears once, with a Copy control and the warning “Shown once — copy it now.”
API documentation
An API documentation card offers a View link that opens the full Markdown reference in a viewer with a generated table of contents, and a Download button that saves it as a Markdown file. The whole platform is scriptable with curl using an application password, so this is the reference for that.
Legacy dashboard
A toggle switches you to the previous interface. Turning it on reloads into the legacy dashboard, and you switch back from its Profile screen.
Active sessions
Active sessions lists where you are signed in, showing the location, operating system, browser and last activity. Your current session is chipped This device and cannot be signed out; others get a Sign out link. Sign out all others ends every other session at once. Beyond five sessions, a View all N sessions → link opens the full list.
SSH keys are not on Profile. They are on the Settings screen.
Settings
Settings has six tabs. Customers see only Cookbook; the other five are operator-only in the interface and on the server.
Branding
Portal name sets the name shown across the dashboard and in transactional email. Theme colors exposes colour swatches for the primary, success, warning, error and accent tokens. Save with Save branding.
White-label portals themselves are configured in data rather than on this screen. When the Manager is served on a custom domain, a matching portal record overrides the name, colours, logo, DNS introduction, nameserver text and even the transactional SMTP identity, so an agency’s customers see the agency’s brand throughout.
Providers
Providers are the connections to third-party services. Each row shows the provider name, whether it is connected, and Verify and Edit links. Verify calls the provider’s API and reports back.
+ Add provider opens a dialog with a Name, a Type and a free-form list of credential key and value pairs. The available types are:
- Hosting: Kinsta, WP Engine, Rocket.net, GridPane
- DNS: Constellix
- Domain: Hover.com, Spaceship
- Email: Mailgun, Forward Email
- Analytics: Fathom
- Live chat: Intercom
- Marketplace: Envato
Site defaults
The global defaults applied to newly created sites: Default email, Timezone, Recipes on new site and Default users. Edit on any row opens the shared Site defaults dialog described in Accounts and billing; the same dialog serves the per-account version.
SSH keys
Your public keys lists the SSH keys the fleet uses, each with its title, a fingerprint and a Delete link. The primary key is chipped Primary.
Cookbook
The Cookbook is the recipe library. Sub-tabs split it into Mine and System; operators default to System, customers to Mine.
Each row shows the recipe title, a Public or Private chip, a Run… link that sends it to the terminal, and Edit where you own it. Customers only manage their own recipes.
+ New recipe opens an editor with a Title, a script body reading # bash / wp-cli script, and, for administrators, a Public — usable by all users toggle. Save with Save recipe.
Handbook
The Handbook is the operator documentation: stored procedures with a name, a time estimate, a repeat interval and quantity, and a Markdown description.
Each row shows the process name and when it was last updated, with Edit and View. View renders the procedure with a meta line carrying the time estimate, the repeat interval and the roles it applies to. Edit opens a dialog with Name, Time estimate, Repeat, Quantity and Description. The repeat vocabulary is As needed, Daily, Weekly, Monthly and Yearly.