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 Settings → Connections. Servers (SSH), MCP, external APIs and email sending are gathered under More → Connect in the sidebar. Connecting one engine is enough to start. Add the rest as you need each feature.
What you can connect
| Service | How you connect | Cost | What it powers |
|---|---|---|---|
| Claude | Subscription sign-in (recommended) or API key | Nothing extra on a subscription | Chat and creation. Also drives video |
| ChatGPT | Subscription sign-in | Nothing extra on a subscription | Chat, writing, code |
| Kimi | Subscription sign-in | Nothing extra on a subscription | Chat, writing, code |
| Gemini | Paste an API key | Free tier available | Chat, writing |
| Higgsfield | Sign in via browser | Consumes credits | Video and image generation |
| OpenAI images | Paste an API key | Metered | Image generation |
| ElevenLabs | Paste an API key | Metered | Narration and music |
| External API | Register a URL and key | Depends on the service | Any external service |
| SMTP email | Enter server details | Free | Loop result notifications |
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.
| Mode | Stages and routing | Connections 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 |
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 Settings → Models (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.
You press a button in the app — WorkPilot opens Terminal and types the official sign-in command for you.
Terminal opens — mostly you just read. If a list appears, use ↑↓ and Enter.
You sign in the browser — on the vendor's own page, with the account you pay for.
You return and press “Test connection” — without this, nothing is marked as connected.
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)
-
Choose the method
In Settings → Connections, on the Claude row, pick Sign in with subscription (recommended). The note reads Runs on the Claude sign-in on this Mac. -
Press the button
Connect (sign in via browser) — during first-time setup it reads Connect (sign in from Terminal). Terminal opens and/loginis passed to the bundled Claude program. -
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. -
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. -
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.
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
On the Claude row choose Use an API key.
Paste a key created in the Anthropic console and press 🔐 Save.
Press Test connection.
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.
Press Sign in with ChatGPT. Terminal opens and runs the sign-in command.
Sign in through the browser with the ChatGPT account you pay for.
Close Terminal once it reports success.
Back in WorkPilot, press Test connection.
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.
Press Connect to Kimi (install / sign in). Terminal opens.
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.
Sign-in then begins, and a browser opens for your Kimi account.
Return to WorkPilot and press Test connection.
| Message | What 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 |
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.
Create an API key in Google AI Studio.
Paste it into the Gemini field under Settings → Connections (or the Gemini API key box during setup).
It switches to Saved — ready to use.
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 Settings → Connections → Default 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.
| Engine | How the app describes it | Good for |
|---|---|---|
| Claude | Precision for chat and creation | The default choice. Required for video |
| GPT | Runs on your ChatGPT subscription | Writing and code |
| Kimi | Runs on your Kimi subscription | Long text and code |
| Gemini | Gemini API (free tier) | Quick questions |
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.
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).
Sign in with an account that has an active plan and approve access.
Back in WorkPilot, press Re-authenticate / test.
Success means your remaining credits and plan appear (for example 120 left).
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.
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 Settings → Usage.
ElevenLabs (narration and music)
For turning text into speech. Get a key from elevenlabs.io under Profile → API Keys.
Paste it into ElevenLabs (AI narration) API key and press 🔐 Save.
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)
More → Connect 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
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.
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.
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.
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 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.
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.
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 More → Connect → + → Other → Obsidian 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:
| Folder | Contents |
|---|---|
| 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.
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.
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 More → Connect in the sidebar, while the fields themselves are filled in under Settings → Profiles → Email (SMTP).
| Field | What to enter |
|---|---|
| SMTP server | Hostname of your outgoing mail server |
| Port | 587 (STARTTLS) or 465 (SSL/TLS) |
| Username / password | The sending account. The password goes into the keychain |
| From address | What recipients see as the sender |
| Default recipient | Where 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 know | Where to look |
|---|---|
| Everything at once | Settings → Connections → Diagnose all services |
| Claude / ChatGPT / Kimi | Test connection on each row → Connected |
| Higgsfield | Re-authenticate / test → a credit number appears |
| Whether a key saved | The 🔐 Saved in Keychain label |
| Which engine a thread uses | The AI engine menu at the top right |
When it won't connect
| Symptom | Likely cause | Fix |
|---|---|---|
| Terminal doesn't open | The window is behind others | Check Terminal in the Dock, or press again |
| Signed in but not connected | You didn't press the test button | Return to the app and press Test connection |
| The test fails | Sign-in incomplete, or wrong account | Run sign-in again from the start |
| I closed Terminal partway | Authentication never finished | Press the button again — you can retry as often as you like |
| Only video fails | Higgsfield unauthenticated, or engine isn't Claude | Check the credit number and the engine |
| Occasionally slow or stalling | Plan usage limits | Check Settings → Usage |
Still stuck? See Troubleshooting by symptom, or the Glossary for unfamiliar terms.