Connections

Connect your AI and services

Connections live in two places. The conversational engines (Claude, ChatGPT, Kimi, Gemini) and the image, audio and video services are under SettingsConnections. Servers (SSH), MCP, external APIs and email sending are gathered under MoreConnect in the sidebar. Connecting one engine is enough to start. Add the rest as you need each feature.

What you can connect

ServiceHow you connectCostWhat it powers
ClaudeSubscription sign-in (recommended) or API keyNothing extra on a subscriptionChat and creation. Also drives video
ChatGPTSubscription sign-inNothing extra on a subscriptionChat, writing, code
KimiSubscription sign-inNothing extra on a subscriptionChat, writing, code
GeminiPaste an API keyFree tier availableChat, writing
HiggsfieldSign in via browserConsumes creditsVideo and image generation
OpenAI imagesPaste an API keyMeteredImage generation
ElevenLabsPaste an API keyMeteredNarration and music
External APIRegister a URL and keyDepends on the serviceAny external service
SMTP emailEnter server detailsFreeLoop result notifications
One is enough to begin

As the app puts it: connect either Claude or GPT and you can get going. Video generation (Higgsfield) needs Claude. Gemini is optional. There's no need to connect everything.

Which feature uses which model

WorkPilot isn't one AI doing everything. A single request is split into stages, and each stage routes through a different service. Video, for example, has Claude compose the instruction while Higgsfield actually produces the footage. Once you see this, “why is only video failing?” becomes easy to diagnose.

ModeStages and routingConnections needed
Chat Thinking engine Any one of Claude / GPT / Kimi / Gemini
Image Prompt building → image generation Claude / GPT / Kimi / Gemini plus OpenAI image generation
Video Prompt building → modelling image → video generation Claude (fixed) plus OpenAI image generation plus Higgsfield
Article Body writing → image generation (if you want illustrations) Claude / GPT / Kimi / Gemini, optionally OpenAI image generation
Audio Narration and music generation ElevenLabs
Code Implementation engine Any one of Claude / GPT / Kimi / Gemini
Auto-subtitles Transcribing audio No connection needed — uses your Mac's speech recognition
Key ThinkingClaude / GPT / Kimi / Gemini ImagesOpenAI gpt-image VideoHiggsfield AudioElevenLabs On-deviceMac speech recognition
Cost also differs by stage

The thinking stages (Claude / GPT / Kimi) run on the subscription you already pay for, so they cost nothing extra. Only three things are billed on top: OpenAI image generation (metered), ElevenLabs audio (metered), and Higgsfield video (credits).

These defaults are configurable per stage under SettingsModels (model defaults).

How subscription sign-in works

Claude, ChatGPT and Kimi all follow the same shape: Terminal opens, then you sign in through your browser. It's disorienting the first time, so here is the whole arc.

  1. You press a button in the app — WorkPilot opens Terminal and types the official sign-in command for you.

  2. Terminal opens — mostly you just read. If a list appears, use and Enter.

  3. You sign in the browser — on the vendor's own page, with the account you pay for.

  4. You return and press “Test connection” — without this, nothing is marked as connected.

Your password never passes through WorkPilot

Sign-in happens on each vendor's official page, and the resulting credentials are stored on your Mac. WorkPilot never receives your password.

Where keys are stored

API keys and passwords are encrypted into your Mac's secure store (the keychain). Saved items show 🔐 Saved in Keychain, and the key itself never appears on screen or in a file.

  • Replace it — paste a new key into Enter a new key to replace it and press 🔐 Save
  • Remove it — press Delete

Claude

The main engine for chat and creation. Video generation goes through Claude, so it's required if you want video. There are two ways in: Sign in with subscription (recommended) or Use an API key.

Signing in with your subscription (recommended)

  1. Choose the method
    In SettingsConnections, on the Claude row, pick Sign in with subscription (recommended). The note reads Runs on the Claude sign-in on this Mac.

  2. Press the button
    Connect (sign in via browser) — during first-time setup it reads Connect (sign in from Terminal). Terminal opens and /login is passed to the bundled Claude program.

  3. Choose how to sign in
    Terminal shows a short list. Select your subscription account (Claude Pro / Max) and press Enter. The other option is an API-billing account (Anthropic Console), which charges per use.

  4. Sign in through the browser
    Sign in with the account you pay for and approve access. If a verification code appears, copy it into Terminal and press Enter.

  5. Return and test
    Back in WorkPilot press Test connection. The app really does send a one-line question and waits for an answer. If it comes back, you'll see Connected.

The command behind the button

It runs /login against the bundled Claude program. If you'd rather do it by hand, installing Claude Code and running claude /login has the same effect.

Connecting with an API key

  1. On the Claude row choose Use an API key.

  2. Paste a key created in the Anthropic console and press 🔐 Save.

  3. Press Test connection.

This one costs money

API keys are billed per use. As the app notes, commercial redistribution requires either this route or approval from Anthropic. For everyday work, use subscription sign-in.

ChatGPT

Signs in with your ChatGPT subscription — no API key needed. The in-app hint reads: Press “Sign in with ChatGPT” for browser auth, then come back and press “Test connection”. If you're already signed in, just test.

  1. Press Sign in with ChatGPT. Terminal opens and runs the sign-in command.

  2. Sign in through the browser with the ChatGPT account you pay for.

  3. Close Terminal once it reports success.

  4. Back in WorkPilot, press Test connection.

The command behind the button

It passes login to the bundled ChatGPT (Codex) program — equivalent to running codex login yourself.

Kimi

Runs on a Kimi (Moonshot AI) subscription. If the tool isn't installed yet, one button handles both install and sign-in.

  1. Press Connect to Kimi (install / sign in). Terminal opens.

  2. If it isn't installed, the official installer runs automatically — anywhere from tens of seconds to a few minutes. Lots of text scrolls by; just wait.

  3. Sign-in then begins, and a browser opens for your Kimi account.

  4. Return to WorkPilot and press Test connection.

MessageWhat it means
kimi-cli is not installed. Use “Connect to Kimi” to install it.The program itself is missing. Use the same button
You are not signed in to Kimi. Use “Connect to Kimi” to sign in (subscription required).Installed, but not signed in. A subscription is also required
Kimi setup started in Terminal. Press “Test connection” when it finishes.Normal. Wait for Terminal to finish, then test
The command behind the button

kimi login if it's installed; otherwise the official installer runs first, then the same sign-in.

Gemini

Gemini is the one that skips Terminal entirely — you just paste an API key from Google AI Studio, and the free tier is enough to try it.

  1. Create an API key in Google AI Studio.

  2. Paste it into the Gemini field under SettingsConnections (or the Gemini API key box during setup).

  3. It switches to Saved — ready to use.

  4. Pick Gemini API (free tier) from the AI engine menu in a thread to use it there.

Choosing and switching engines

The engine used by new threads is set in SettingsConnectionsDefault engine for new threads. Inside a thread, switch from the AI engine menu at the top right; the choice is saved to that thread only.

EngineHow the app describes itGood for
ClaudePrecision for chat and creationThe default choice. Required for video
GPTRuns on your ChatGPT subscriptionWriting and code
KimiRuns on your Kimi subscriptionLong text and code
GeminiGemini API (free tier)Quick questions
Leave it on Claude for video

Video generation is wired through Claude. Switching to GPT or Gemini in video mode means nothing will generate.

Higgsfield (video and images)

No key to paste here — you sign in through a browser.

  1. Press Connect (sign in via browser). Terminal opens, registers the video engine with Claude, and then the Higgsfield sign-in page opens (first time only).

  2. Sign in with an account that has an active plan and approve access.

  3. Back in WorkPilot, press Re-authenticate / test.

  4. Success means your remaining credits and plan appear (for example 120 left).

Text on screen is not success

Success is the credit number appearing. If it isn't connected you'll see Could not reach Higgsfield (this device may not be authenticated…), or during setup Cannot connect. Check your Higgsfield plan and sign-in.

OpenAI image generation

For generating images through OpenAI. Paste a key beginning with sk- into the OpenAI image generation (gpt-image-2) API key field and save.

Billed separately from your subscription

As the app notes: image generation is billed through the OpenAI API, separate from a ChatGPT subscription, starting from a few cents per image. If you're worried about overspending, set daily and monthly caps under SettingsUsage.

ElevenLabs (narration and music)

For turning text into speech. Get a key from elevenlabs.io under Profile → API Keys.

  1. Paste it into ElevenLabs (AI narration) API key and press 🔐 Save.

  2. It becomes available from 🗣 Generate AI narration in the editor.

If the key lacks permissions, loading voices will fail — it needs Voices: Read. Usage is covered in The editor and exporting.

Connect (servers, MCP, APIs, email)

MoreConnect in the sidebar gathers every outside connection in one place. Servers (SSH), MCP, external APIs and email sending are all registered and checked on the same screen.

The list shows each connection's state (reachable, unverified or failed) and where it is being used — the code projects and threads that rely on it. Because the impact is visible before you delete anything, you won't accidentally remove something still in use.

Adding a connection

  1. Press + next to the heading. The right-hand column asks What do you want to connect? and offers five choices: server, MCP, API, mail or other.

  2. Only the form for the type you picked appears. Fill in what it needs — for an API that means a service name, base URL, auth header name, API key and a path to test against.

  3. Press Test to confirm it responds, then save. Once saved, enable it per thread from the thread's equipment.

The right half is a setup assistant. Say “I want to connect Notion” and it fills in the form on the left. Servers (SSH) can be imported from your Mac's ~/.ssh/config in one click.

No more retyping the same server

The SSH host in a code project's deploy settings is now picked from your registered connections, so you no longer re-enter the same server details every time you add a code project. Existing settings are consolidated automatically on first launch (identical hosts merge into one entry, and the original values are kept, so nothing breaks). Even if you delete a connection, the code project keeps working from the values it was given.

The AI is told what's connected

The list of registered connections is handed to the AI with every message, so it no longer asks you to set up a connection you have already configured.

Some types won't connect as-is

As the in-app warning says, some URL-based (http) MCP entries authenticate on the Claude side and may not connect directly. Command-based entries generally work as they are.

The app never holds your passwords or keys

SSH uses your Mac's ssh-agent and Terminal configuration as-is — the app never takes custody of a key or a passphrase. Connection tests are run in a way that never asks for credentials, and tokens are stored in the keychain.

Share your Obsidian vault

If you use Obsidian, WorkPilot can keep its files inside your vault. Your knowledge documents, notes and twin profile then open directly in Obsidian. Claude Code reads the same files, so you can run WorkPilot and Claude Code side by side.

Go to MoreConnect+OtherObsidian and pick your vault folder.

Where files end up

The vault root stays clean. Everything WorkPilot creates lives inside <vault>/WorkPilot/. Open the vault in Obsidian and you will find:

FolderContents
knowledge-base/Optimised knowledge documents (readable Markdown)
identity/Your twin profile (self-profile.md) and its observations
notes/ and memo/Notes and memos
skills/ and reports/Skills, and reports from loops

What happens to your existing data

When you connect, you choose whether to move your current data to the new place (moving is the default). What moves: your thread and agent records, plus the folders in the table above. It is a copy, so nothing disappears from the old location — you can always go back.

Large files stay out of your vault

Uploaded originals, generated files, logs and received files are not moved into the vault. Originals alone can run to several gigabytes, which would slow Obsidian down and, in a synced vault, trigger a huge upload. WorkPilot keeps reading and writing them where they are, so your existing knowledge keeps working.

Disconnect puts the save folder back where it was. Files inside your vault are never deleted.

If your vault is synced

Picking a vault inside iCloud or Dropbox shows a warning before you connect. Writing while it syncs can cause conflicts, so editing from one side at a time is safest. The same applies when Claude Code is working in the vault: keeping separate files per purpose avoids clashes.

How this differs from the Obsidian MCP

Obsidian can also be connected over MCP (the Local REST API plugin). That route only works while the Obsidian desktop app is running — connections fail when it is closed — and it needs the plugin installed plus an API key.

If you only want your vault read, you do not need MCP. Sharing the vault works even when Obsidian is closed. Choosing Obsidian on the MCP screen shows this guidance along with a button to switch to vault sharing.

SMTP email

Used to email you the result of a loop. It appears as a card under MoreConnect in the sidebar, while the fields themselves are filled in under SettingsProfilesEmail (SMTP).

FieldWhat to enter
SMTP serverHostname of your outgoing mail server
Port587 (STARTTLS) or 465 (SSL/TLS)
Username / passwordThe sending account. The password goes into the keychain
From addressWhat recipients see as the sender
Default recipientWhere loop results are sent

Press Send test to confirm delivery. Subject, body and recipient are assembled by the app, so the AI is never handed a way to send mail itself.

Checking what's connected

What you want to knowWhere to look
Everything at onceSettingsConnectionsDiagnose all services
Claude / ChatGPT / KimiTest connection on each row → Connected
HiggsfieldRe-authenticate / test → a credit number appears
Whether a key savedThe 🔐 Saved in Keychain label
Which engine a thread usesThe AI engine menu at the top right

When it won't connect

SymptomLikely causeFix
Terminal doesn't openThe window is behind othersCheck Terminal in the Dock, or press again
Signed in but not connectedYou didn't press the test buttonReturn to the app and press Test connection
The test failsSign-in incomplete, or wrong accountRun sign-in again from the start
I closed Terminal partwayAuthentication never finishedPress the button again — you can retry as often as you like
Only video failsHiggsfield unauthenticated, or engine isn't ClaudeCheck the credit number and the engine
Occasionally slow or stallingPlan usage limitsCheck SettingsUsage

Still stuck? See Troubleshooting by symptom, or the Glossary for unfamiliar terms.