The official guide to AI Coach, an AI desktop pet for macOS. It covers raising your egg, voice dictation, tools such as the Ring Launcher and memos, AI image and voice creation, connecting Claude, P2P Connection, and setting up the OpenAI API and the Gemini API.
If this is your first time, we suggest reading straight through from "1. Getting started."
This documentation covers AI Coach v1.0.3. Details may change in future updates.
AI Coach is an AI character who lives on your desktop.
It comes with a full set of small tools for voice input, AI, and everyday work — but the thing that makes it different is that you raise it from an egg. How you use it shapes who it becomes.
Even if your character is gone, the main features (voice transcription, AI, utilities) keep working. Your desktop just gets a little lonelier.
macOS
.dmg you downloaded and drag AI Coach.app into your Applications folder.Windows
The Windows version is in development and coming soon. No installer is distributed yet; the steps below apply once it is released.
AICoach-Setup-x.x.x.exe).Only when you install the app for the first time, you can choose to start in a 30-day "Trial Mode." On the very first launch, after an explanation plays on a black screen, choose from "Start the Trial," "Start from the Egg," and "Hear It Again."
What can I do during the trial?
Together with Robo, your robot companion, you can use almost every feature before raising anything. The only things you can't use are the games under "Games" that are downloaded once learned. Buying, hatching, and raising eggs are on hold during the trial.
What happens to Robo?
What do I need to start?
Where can I see how many days are left?
"Trial Mode (N day(s) left)" appears at the top of the menu. From there you can check when it ends and read the explanation, and "End Trial Mode and Start from an Egg…" is there too. You're notified when 7, 3, and 1 days are left.
What happens when it ends?
What if I closed the introduction?
You can get back to it from "Trial Mode Info…" in the menu.
| Permission | What it's for | Where to set it |
|---|---|---|
| Microphone | Voice input (transcription) | macOS: System Settings → Privacy & Security → Microphone |
| Accessibility | Reading selected text, typing into other apps, key handling for the Ring Launcher | macOS: System Settings → Privacy & Security → Accessibility |
| Local Network | Connecting to an AI such as Draw Things or llama.cpp on the same network | macOS: you're asked the first time it connects (System Settings → Privacy & Security → Local Network) |
The app works fine without these — only the related features go unavailable. (If Accessibility isn't granted, text retrieval simply comes back empty; nothing crashes.)
Cmd + QWhen you'd like a little quiet, "Go Home" in the right-click menu tucks your character away.
One first egg is included when you download the app. There's nothing to claim or redeem.
You can buy more eggs on the website (→ "10. Buying eggs"). Purchased eggs arrive in the Hatch Tray.
The Hatch Tray shows how many eggs you have yet to hatch.
Press "Raise" to spend one egg and place it on your desktop.
Eggs grow on their own, simply with time. There's no feeding to do.
What an egg can't do yet (by design): voice input, clipboard history, bookmarks, the RSS reader, and fortune telling aren't available while it's still an egg. They unlock in order once it hatches into a baby and grows. Memos and growth cards can be used even while it's still an egg. Hatching takes about an hour, and time passes while the app is closed too.
Once it hatches, a naming dialog appears. You can change the name later (right-click → "Rename").
If you launch the app for the very first time with no saved data, a short scene plays: light flickering in the dark margins, an egg appearing, a bit of narration. It happens exactly once.
Right-click your character to see what's available at that moment.
| Action | What it does |
|---|---|
| Feed | Restores fullness. Only accepted when they're hungry |
| Sleep | Restores health and rest. Won't work on an empty stomach |
| Go for a Walk | Makes them lighter on their feet, and eases loneliness too |
| Nurse | Only while they're sick. Speeds recovery, and means the most to them |
| Status | Check how they're doing right now |
| View Relationships | Check how they get along with the others |
| Create Growth Card… | Turns how they look right now into an image card you can share (→ "6. Utilities") |
| Features / Games | Opens the tools and games they've learned |
| Put Away / Go Home | Temporarily tucks them off screen |
You can also pick them up with the mouse and move them around, or drop files on them to feed them. The things you use most can also be called up from the Ring Launcher, which opens when you hold down the fn key (→ "6. Utilities").
Characters have three needs: hungry, sleepy, and lonely. When a need builds up, they'll let you know.
Loneliness is a little different. Food and sleep won't touch it.
If you answer a need within 30 seconds of them asking, they're extra happy about it.
If you launch the app after a gap of 8 hours or more, there's a bonus that restores immunity.
The one who played a lot, the one who studied a lot, the one who got plenty of affection — how you spend your time shifts which parameters grow, and that decides what they look like as an adult.
You won't know which form you'll get until they grow up.
Telling you all of them would spoil the fun, so we're keeping that to ourselves here.
Characters watch how you respond and adjust how they speak.
A child who got what they wanted by being clingy becomes good at being clingy; one who got through by reasoning with you starts talking like an equal partner. Tugging at your sympathy, offering you a deal, complimenting you, or just being adorable — each is that child's own way of saying "look at me again."
The way they talk also changes with their stage. Babies babble, toddlers use short words, kids speak in sentences, and adults choose their words.
Egg → Baby → Toddler → Kid → Adult
Each stage opens up more. In the kid stage, love starts to bud, and as adults they can marry and lay eggs. Along the way, utilities unlock bit by bit, in the form of "I learned it!"
After hatching, they only grow while the app is running and they're out on screen. One minute is one in-game hour, and going from egg to adult takes about 17 hours of running time (42 days in-game).
Time doesn't pass while they're put away (dormant) or while the app is closed. Think of it as hibernation.
With two or more out at once, they drift toward each other and away again, talk, and trade feelings in emoji. They can become close — or fall out.
When an adult boy and girl are near each other, love can quietly find them. You can't "arrange a marriage." That's theirs to choose.
Once two become a couple, they may lay an egg when the conditions line up. Laying an egg means giving up some of their own remaining time (maximum HP) and entrusting it to the next life. Each egg carries three generations of lineage.
You can see the family tree from the macOS menu bar → "👪 View family tree."
When HP reaches 0, that child becomes a ghost.
Just before becoming a ghost, they look back over the days you spent together, thank you for whatever you shared most often, and go to sleep.
Ghosts stay with you as translucent figures. They don't get hungry, don't get sick, and have no lifespan. No love, no eggs. You can put them away and call them back again.
When you're ready to let go, you can choose "Let them go." After a confirmation, they return to the margins. Holding on and letting go are both ways of loving.
Even after you let them go, their record stays in the Encyclopedia.
The forms you've met, the records of the children you raised, the days they lived — it all gathers here.
Forms you haven't met yet are hidden, frame and all. We hope you'll go looking for what's behind them.
Hold Right-Shift for 0.3 seconds or more and your voice becomes text. Let go and it stops.
Tap Right-Shift twice quickly (within 0.4 seconds) to toggle start and stop without holding it down.
Pick whichever suits what you're doing.
| Option | What it's like |
|---|---|
| Apple on-device LLM (macOS Foundation Models) | Fully local, ultra-low latency. Pick this if privacy comes first |
| llama.cpp / LM Studio (GGUF · run locally) | Run your favorite open model offline. Besides the built-in server, it can also connect to an external llama-server or LM Studio server |
| OpenAI-compatible API (any endpoint) | OpenAI, Groq, and OpenRouter can be picked from presets. Other compatible endpoints, such as the Gemini API, can be set up with an API key and model name |
Where to set it
AI Settings is divided into tabs: "Text Generation," "Transcription," "Images," "Voice," "Connect," and "P2P Connection." This chapter covers "Text Generation." Images and Voice are explained in "6. Utilities," Connect in "8. Going further: connecting Claude," and P2P Connection in "9. Account and sync."
The settings available are endpoint / API key / model name / max tokens / temperature / enabled or disabled.
Connecting to LM Studio: under "llama.cpp / LM Studio," choose an external server and enter LM Studio's address as the endpoint (the default is http://127.0.0.1:1234). "Fetch List" lets you pick from the server's models, and a model that isn't loaded yet is loaded on the first request. If you've turned on authentication in LM Studio, enter the API key too (the key is saved only on this device).
Working with Claude Desktop / Claude Code is the MCP connection explained below in "8. Going further: connecting Claude." From Claude you can check on your pet, and your character's movements show how Claude's work is going.
To use ChatGPT's models, enter the OpenAI API endpoint, API key and model name in "AI Settings...". This does not connect to the ChatGPT website or your ChatGPT account directly. Check the API's terms and pricing separately from your ChatGPT subscription.
For Gemini's models, Google provides an OpenAI-compatible endpoint for the Gemini API. To use it, enter the matching endpoint, your Gemini API key and the model name in "AI Settings...". This does not link to your Gemini app account directly. What works depends on the model you choose and on the compatible API.
Voice transcription is separate from these cloud AI settings. On macOS it runs on your device, and besides Right-Shift voice input, you can drop audio files onto your character to transcribe them.
If you're running llama.cpp locally, set the context length to 8192 or more. With less than that, some features (Consultation, for example) won't work.
If the AI doesn't respond, the app automatically falls back to pre-written lines. Your character never goes silent.
Most tools are picked up gradually as they grow. Which child learns what is something you'll discover as you raise them. Once a tool has been learned, you can keep using it even after that child is gone. If you're signed in, you can also use it on your other devices with the same account.
Shift + Cmd + M opens a Quick Memo. One memo is one Markdown file (→ "Memos" below).git on your character to see its commit history as a graph. The display reads .git directly, without using the git command. You can also check out branches and fetch, pull, and push (→ "The Git project list" below)There are others they'll learn as you keep using the app.
Hold down the fn (🌐) key for 0.3 seconds or more and a ring appears around your character. It doesn't take focus away from the app you're working in.
| Action | What happens |
|---|---|
| Hold fn | Opens the ring (Right-Ctrl on Windows) |
| Arrow keys | Choose an item |
| Release fn / Return | Runs the chosen item and closes the ring. On a group, steps inside it |
| Esc | Goes back one level. At the top level, closes without doing anything |
| Mouse | Hover over an item to choose it, and click to run it |
Shift + Cmd + M opens a Quick Memo at any time. "Memos" in the menu bar opens the list window, with an editor, a preview, and an outline.
Cmd + D selects the next occurrence of the same word, Shift + Cmd + L splits a selection into lines, and rectangular selection)Cmd + N makes a new memo, and Cmd + E switches between preview and editingYou can also have Claude read and write your memos (→ "8. Going further: connecting Claude"). With P2P Connection, you can sync them with your other Macs too (→ "9. Account and sync").
Once your character has hatched, you can drop all sorts of things on them.
| What you drop | What happens |
|---|---|
| A file | It becomes a meal, and a confirmation appears. You can choose an encrypted ZIP, a preview, "Edit in Paint," or "Ask what it is" |
| Only audio files | They're transcribed |
A folder that contains .git | Shows its Git graph |
| A URL from your browser | It becomes a meal. An RSS / Atom feed is subscribed to; anything else is added to your bookmarks |
| Text from another app | It's shown in the text viewer |
The preview, "Edit in Paint," "Ask what it is," and the Git graph become available once they've learned the text viewer ("Ask what it is" needs macOS 27 or later). Until then, you can only choose the meal or the encrypted ZIP.
Git projects scattered across many folders can be laid out in a single list and opened from there. It's available from the start (opening the Git graph from the list needs the text viewer to be learned first).
How to use it
.git as a Git project, flattening the nesting into one list. Folders such as node_modules, build, dist, and vendor are skipped. Up to 300 projects are listed.git, so the git command isn't used. The network is only used to count pull requestsKeys (macOS)
| Key | What happens |
|---|---|
Return | Opens it in Finder |
Option + Return | Opens it in Terminal |
Cmd + Return / double-click a row | Opens the Git graph (the list stays open) |
Cmd + 1–9 | Runs a registered command in Terminal, in that folder |
Cmd + C | Copies the full path |
Cmd + P | Opens pull requests |
Cmd + R | Searches again |
Cmd + , | Edits the commands |
Esc | Closes the list |
git status, git pull --ff-only, and claude. You can register up to 20, and give each command its own key that works inside the listGit operations from the badges (macOS)
--ff-onlyPull requests (macOS)
gh command login (gh auth). The token it receives is forgotten when the window closesShortcuts (macOS)
With "Assign a Shortcut…" in the list's right-click menu, you can give a particular project's Finder, Git graph, Terminal, pull requests, or commands a shortcut that works anywhere in the app.
Git graph
.git directly)Once they've learned AI image generation, "Create AI Image…" appears in your character's menu and in the Ring Launcher. Enter a prompt, and that child draws a picture and shows it in a speech bubble. Click the finished image to open it in Simple Paint; it's saved as a PNG in ~/Pictures/AI Coach/.
You choose the method on the "Images" tab of AI Settings.
| Method | What it's like | Where your prompt goes |
|---|---|---|
| On-Device (Image Playground) | Made entirely on your machine, on a Mac that supports Apple Intelligence | Not sent |
| Draw Things | Uses your local models through Draw Things' HTTP API (default http://127.0.0.1:7860). Choose the model, steps, sampler, CFG, and size, and fix the seed if you like. "Load from Draw Things" copies over the settings currently selected in Draw Things | The URL you set (this Mac by default) |
| OpenAI API (GPT Image 2.5) | Choose the size, quality, and background (transparent included). The API key is shared with OpenAI under "Text Generation" | OpenAI |
| Gemini API (Nano Banana) | Works with a Google AI Studio API key. Choose the aspect ratio (10 options) and resolution (1K / 2K / 4K) | |
| Via MCP (Codex CLI) | Made with the Codex CLI on your own account | OpenAI |
| Cursor CLI | Made with the Cursor CLI on your own account | Cursor |
Choose a method on the "Voice" tab of AI Settings and save it in a usable state, and "Create AI Voice…" appears in your character's menu and in the Ring Launcher. Enter some text, and it's turned into audio and saved in ~/Music/AI Coach/. Turn on "Play right away when it's ready" to hear it straight away.
| Method | What it's like | Where your text goes |
|---|---|---|
| ElevenLabs | Makes expressive narration as MP3 with Eleven v4 / v4 Turbo. Pick a voice from your account's list and preview it, or enter a voice ID directly | ElevenLabs (with your API key; uses your credits) |
| Irodori-TTS + speech.cpp (local) | Runs models such as Irodori-TTS with speech.cpp to make WAVE audio on this Mac | Not sent (only the first use of a model downloads it from Hugging Face) |
AI Radio turns your unread RSS articles into a radio show, three at a time, hosted by the two characters on your screen. The host introduces each story, and the co-host answers with reactions and simple questions. The script is written by your text-generation AI, and the voices come from your voice-generation method.
Listening
Start it from your character's menu → "RSS Reader" → "Listen to AI Radio," or from "Radio" in the Ring Launcher. While a show is on, the menu item changes to "Stop AI Radio."
In the RSS Reader menu you can turn on these three options (all off by default).
| Option | What it does |
|---|---|
| Save AI Radio Shows | Saves each show as a single WAVE file in ~/Music/AI Coach/ |
| Read Full Articles for AI Radio | For articles with only a short summary, reads the article page and uses its text for the script |
| Save AI Radio Scripts to Memos | Saves the script you heard, grouped by article, as a memo in the "AI Radio" group |
When both the script AI and the voices run on your own Macs, the show is made without sending articles or scripts to the cloud. This is the setup we recommend.
| Role | Recommended | Where it runs |
|---|---|---|
| Script (text generation) | LM Studio + Qwen3.8 27B (qwen/qwen3.8-27b) | The Mac that runs the model (shared over P2P Connection) |
| Voices (voice generation) | Irodori-TTS + speech.cpp (model irodori-tts-mf) | The Mac you listen on |
| Article material | "Read Full Articles for AI Radio" turned on | The Mac you listen on |
A 27B model is large, so we recommend running LM Studio on a Mac with plenty of memory and borrowing it over P2P Connection from the Mac you use every day. You can also run both on one Mac.
1. Set up the voices (the Mac you listen on)
irodori-tts-mf, about 1.9 GB) is downloaded right afterWhen Irodori-TTS reads the show, the script includes reading-style emoji (a nod, surprise, a little giggle and so on), so the co-host's nods and laughs come through in the voice. The emoji don't appear in the speech bubbles.
2. Set up the script AI (the Mac that runs the model)
qwen/qwen3.8-27b)http://127.0.0.1:1234)3. Borrow the AI over P2P Connection
To run everything on one Mac instead, skip P2P Connection: in AI Settings → "Text Generation," choose "llama.cpp / LM Studio" → external server, enter http://127.0.0.1:1234 as the endpoint, and pick the model from "Fetch List."
4. Listen
With this setup, the only things that go out are fetching your RSS feeds and article pages (visits to those sites), downloading the model the first time you use it (Hugging Face), and the traffic P2P Connection uses to find your other Mac. The script and the voices are made on your own Macs, and no confirmation window appears.
Milestones such as hatching, evolving, or learning a new tool can be turned into a 1200×675 image card. At a milestone, you're asked whether to make one, and you can make one any time from "Create Growth Card…" in your character's right-click menu.
Start it from the right-click menu. No judgment, no advice pushed on you — just listening, and one small next step offered at the end.
Conversations are not saved. They're cleared from memory the moment you close the window.
If strong distress comes through, the app shows professional support resources on screen.
Each character keeps its own separate conversation.
| Key | Action |
|---|---|
Hold Right-Shift | Voice input (starts at 0.3 seconds, stops on release) |
Right-Shift ×2 | Toggle voice input (two taps within 0.4 seconds) |
Hold fn (🌐) | Ring Launcher (opens at 0.3 seconds) |
Shift + Cmd + M | Quick Memo |
Shift + Cmd + C | Clipboard history |
Shift + Cmd + B | Bookmarks |
Shift + Cmd + R | RSS reader |
Shift + Cmd + P | Choose a snippet template |
Shift + Cmd + S | Today's schedule |
Cmd + Q | Quit |
Cmd + V (in the Bookmarks window) | Add URLs in bulk (one per line) |
The keys for voice input, clipboard history, bookmarks, the RSS reader, snippets and today's schedule work once they've learned that tool. Quick Memo and the Ring Launcher work from the start.
| Key | Action |
|---|---|
Hold Right-Shift / ×2 | Voice input |
Hold Right-Ctrl | Ring Launcher |
Ctrl + V (in the Bookmarks window) | Add URLs in bulk |
Consultation has no shortcut assigned. Open it from the right-click menu.
This feature is available on macOS first. Windows support will follow in a future update.
AI Coach can be talked to from Claude.
Ask "how's my little one doing?" and Claude tells you their condition and mood.
Ask it to "feed them" and — after you confirm — the character on your desktop actually eats.
And while Claude works on something long, the little one on your desk hops and pauses to show you how it's going.
Even when you're not watching the screen, the movement of that small life on your desk tells you "still running" or "done." That's the thing we most wanted to build here.
You can also have it make images and voices, read and write your memos, or open a repository's Git graph.
This isn't about bolting on "one more AI." It's about letting a conversation with Claude reach the small life on your desktop.
| What's required | |
|---|---|
| AI Coach | Running, with at least one character out on screen |
| Claude side | The AI Coach integration (MCP server) registered |
| Settings | The integration enabled on the AI Coach side |
Everything happens inside this machine. Nothing goes over the internet.
Claude Desktop opens a confirmation screen; press "Install" and you're done. No Node.js needed.
Claude Code gets AI Coach registered so it can be used from any project. This needs Node.js 22 or later on your PATH. In a Claude Code session that's already open, reconnect with /mcp or start a new conversation.
For Cursor and other apps, copy the settings under "Connect manually" and paste them in. The same screen shows whether it's already been added and whether a newer version is available.
| What you ask | What happens |
|---|---|
| How they're doing | Reads their current health, hunger, tiredness, and mood into a small status card |
| Refresh | Fetches the displayed state again |
| Prepare care | Shows a confirmation card describing what will be done. Nothing runs until you approve |
| Apply care | Only the care you approved is applied to the character on your desktop |
| Say something | Puts a short line Claude wrote into that character's speech bubble |
| Report activity | Shows Claude thinking, working, waiting, succeeding, or failing through that character's movement |
| Preview a file | Opens a file of an allowed type in the AI Coach viewer |
| Show a Git graph | Opens a repository's commit history in AI Coach's Git graph |
| Make an image | Draws it with the method chosen under AI Settings → Images, shows it in a speech bubble, and saves it to Pictures. Where it was saved is returned to Claude. With the OpenAI API, Gemini API, or Draw Things, the width and height (128–4096 px) can be specified too. Available once that child has learned AI image generation |
| Make a voice | Turns text into audio and saves it to Music, with the choice of playing it on the spot. Claude can also pick which voice to use from your ElevenLabs voice list |
| Read and write memos | List, read, search, write, move, or throw away memos (→ "Having your memos read and written" below) |
With several characters, names and states are listed side by side. Nothing runs while "which one, and what" is still ambiguous.

This is the most distinctive part of the integration. While Claude works, that work shows up in how your mascot moves.

| Claude's state | What your character does |
|---|---|
| Thinking | Stops wandering, stands still, shows 🤔 |
| Working | Hops once in place, shows 🛠 |
| Waiting for you | Stands still and keeps hopping, holding up 🙋 |
| Succeeded | One big hop, ✅, and a happy motion |
| Failed | Low, quick hops with ⚠️ |
| Done | Back to their usual self |
The hop keeps the shadow on the ground while only the character jumps — the same motion as a bouncing macOS Dock icon, so you can always tell it apart from their ordinary wandering.
Claude can only ask for five things: feed, sleep, wake, walk, nurse.
You are always asked to confirm. There is no path where a raising parameter changes on Claude's judgment alone.
For the dashboard buttons you can skip confirmation with "don't show this again" — but care requested by Claude is confirmed every single time, regardless of that setting.

Buying, hatching, naming, switching characters, romance and egg-laying, and saying goodbye are all outside the integration. Those are yours to decide.
A local file Claude is working with can be opened in the AI Coach viewer.
| Kind | Extensions | Limit |
|---|---|---|
| Text / Markdown / Mermaid | txt md markdown mmd mermaid | 2 MiB (UTF-8) |
| Images | jpg jpeg png heic webp svg | 25 MiB |
Ask "show me this file in AI Coach" and you can look it over on your own screen without Claude reading it.
You can have Claude jot something down for you, or dig out a memo you wrote earlier. No plugin and no
second server — AI Coach handles all of it.
| What you ask | What happens |
|---|---|
| List your memos | Lines up your saved memos, newest first. It doesn't read the bodies — only titles and opening lines |
| Read a memo | Reads the body of the one memo you asked about |
| Search your memos | Looks across titles and bodies |
| Write a memo | Creates a new one, rewrites one, or adds to the end of one |
| Move a memo | Moves it to another group (folder) |
| Throw a memo away | Moves one to the trash. It can be brought back |
Reading and writing memos is available once that child has learned the tool. Turn off "Allow reading and writing memos" on the "Connect" tab of AI Settings to turn down memos alone, leaving the rest of the integration as it is.

| Where they live | Default location |
|---|---|
| macOS | ~/Library/Application Support/AICoach/Memos/ |
| Windows | %APPDATA%\AICoach\Memos\ |
Paste the following into Claude's Instructions and it will report on its work without being asked each time. Copy it as is.
You are connected to AI Coach. Use the available AI Coach MCP tools according to these rules.
[Basics]
- Notifications are supplementary. Always include important results, questions, and errors in your response.
- Except for greetings and one-line questions, report progress for multi-step research, editing, generation, builds, and tests.
- Never include secrets, credentials, personal data, file contents, or long logs in notifications.
[Work status]
- Use `thinking` with `report_ai_coach_activity` while planning, and `working` during active work.
- Send `waiting` immediately before asking for an answer or approval, `succeeded` once when verified work is complete, and `failed` once only when completion is no longer possible.
- Keep `label` under 60 characters and make it describe the current state. Do not repeat the same state and label.
[Status and care]
- When asked how the mascots are doing, use `open_ai_coach_dashboard` or `refresh_ai_coach_status`.
- Show the proposed care action with `prepare_ai_coach_care`, then use `commit_ai_coach_care` only after explicit user confirmation. Never perform care on your own.
[Messages and files]
- Use `show_ai_coach_message` only for a short encouragement or something the user wants the mascot to say.
- Use `show_ai_coach_file` only for a local file the user asked to display. Do not copy its contents or full path into responses or notifications.
[Memos]
- Read or write memos only when the user asks to find, read, or note something down. Do not go browsing through them.
- Before rewriting an existing memo, read it first and pass `expectedModifiedAt`. On a conflict, re-read instead of overwriting.
- For a body over 32 KiB, create the memo and then append. Delete only when asked.
- Do not copy a memo's contents anywhere beyond what was asked for.
[Images, audio, and Git graph]
- Use `generate_ai_coach_image` / `generate_ai_coach_audio` only when the user asks for an image or audio. It can take several minutes to finish.
- To choose a voice, first get the list with `list_ai_coach_voices`, then pass the `voiceId` of the voice to use.
- Use `show_ai_coach_git_graph` only for a repository the user asked to see.
[If unavailable]
- If AI Coach is not running or connected, continue the primary task when possible. Do not repeatedly retry the same connection failure.
- Write the final response so the result and next step are clear even if the user did not see the mascot.
It exists for one reason: what starts should also be reported as finished. No hopping at the beginning of a job and silence at the end.
That said, whatever you show Claude becomes subject to Claude's processing. That stays true even for an integration that runs entirely on your machine. Please use it on the assumption that what you don't want to share, you don't share.
You can start using the app right away without creating an account. You can link a Google or Apple account later.
You'll need to sign in in these cases:
While you're signed in, the following is saved to the cloud:
Not synced: voice transcription history, window positions, and caches.
Cloud sync becomes active on accounts that have purchased at least one egg. If you're using only the egg bundled with the app, your data stays on that device.
The app handles sync on its own. Nothing to configure, nothing to do.
Raising them continues offline. You can be together whether or not you're connected.
Sign in to the same account on a new device and your data comes with you. If you haven't raised anything yet on that device, the cloud data simply loads in.
If you've raised characters on more than one device, they're merged automatically. Purchase history and growth records never roll back. Condition (HP, fullness, fatigue) does favor the newer record, so those values may shift up or down.
Only when the last updates are 7 or more days apart will a dialog ask which one to use. Either way, your purchase history always carries over.
This connects your own Macs, signed in to the same account, directly over P2P. It's separate from cloud sync, and lets you:
This is an experimental feature. How it works and how it looks may change in future updates.
Getting started
When another device on the same account shows up in the list, a while after launch a prompt next to your character asks, just once, whether to "Link" or "Not Now." Choose "Link" to turn it on. There are no keys or codes to enter.
Sync
Under "Sync" in the settings screen, choose what to keep in step: "RSS feeds," "Memos," and "Shortcut Assignments" (nothing is synced by default). Each kind is synced only with devices that have turned on the same kind.
(conflicted copy from <device name>) added to its nameBorrowing another Mac's AI
On the sharing Mac, under "Share This Mac's AI" in the settings screen, choose which AI to share — Draw Things, llama.cpp (llama-server), or an OpenAI-compatible server such as LM Studio or Ollama (nothing is shared by default).
http://127.0.0.1:<port>) under the device's row. It's entered in AI Settings, switching to that method or provider127.0.0.1Sharing and borrowing SSH
On the sharing Mac, turn on "Share This Mac's SSH" in the settings screen (off by default; a blank port field means port 22).
ssh -p <local port> <user name>@127.0.0.1 appears under the device's row, with a "Copy" button. Paste it into Terminal to log in to the sharing MacKeep This Mac Awake
Turn on "Keep This Mac Awake" in the settings screen (off by default), and while P2P Connection is on and the Mac is sharing AI or SSH, it won't go to sleep even when it's idle. That's because a sleeping Mac can't be reached by the borrowing side.
The "P2P Connection" page in AI Settings
"P2P Connection" in the list on the left of AI Settings shows the current status (off, waiting, how many devices are connected, which AI is being borrowed), along with how it works, what it's good for, and how to get started. "Open P2P Connection Settings…" opens the settings screen. Hints also appear under the llama.cpp external server field and the Draw Things URL field in AI Settings.
Stopping and removing
How it stays safe
Being prepared for release on the App Store.
The iPhone and iPad app "Terminal AI Coach" connects directly over P2P to the SSH your Mac shares through P2P Connection, so you can work in your Mac's terminal from an iPhone or iPad. No port forwarding, VPN, or fixed IP address is needed.
To use it
~/.ssh/authorized_keys on the MacAbout the terminal
| Price | Eggs | Per egg | |
|---|---|---|---|
| Included with the app | Free | 1 | — |
| STARTER | $5 USD | 1 | $5 |
| BUNDLE | $20 USD | 5 | $4 (20% off) |
It's a one-time purchase. Not a subscription. Once you buy, there are no further charges.
Card / Apple Pay / Google Pay / Link are supported. Stripe handles payment; we never hold your card details. Receipts are emailed automatically.
After payment completes, eggs arrive right away if the app is running. If it isn't, they'll be in the Hatch Tray the next time you launch it.
Children born from purchased eggs start with slightly higher first-generation base stats (initial maximum HP and immunity). Very rarely, one is born in a limited color.
This isn't Pay to Win. You can't specify what form they'll take. That's for how you raise them to decide.
You can apply within 7 days of purchase if the eggs covered by the request have not been hatched or used. If only part of a BUNDLE remains unused, we can review a partial refund for that unused portion. Please reach out through the contact form.
This policy does not limit any rights you may have under applicable law.
Save data is stored locally, encrypted with AES-256-GCM. Character images and data live in encrypted containers too, and are only ever decrypted in memory.
The AI runs locally by default. Cloud integrations are opt-in and only enabled when you explicitly turn them on.
Consultation conversations are not saved. They're cleared from memory when the session ends.
~/Library/Application Support/AICoach/%LOCALAPPDATA%\AICoach\Cloud-side data is stored in the Tokyo region (asia-northeast1), and can't be read or written by anyone outside your own account.
You can erase everything. Every life you raised, every lineage, the whole Encyclopedia — all lost, back to the first empty margins. This can't be undone.
We don't sell it. We don't hand it over. Your raising records, your memos and your transcriptions are
never sold, lent or otherwise given to a third party. There is no collection for advertising and no
third-party tracker embedded anywhere.
The only things that leave your machine are the routes listed under "What leaves your machine" above.
Apart from the check for new versions (on by default; you can stop it with "Update Automatically" in the menu), downloading the data for games your children learn, and recording the first egg on first launch, each one runs only when you turn it on yourself. Whatever is sent is handled under each recipient's own terms and privacy policy.
| Who | What for | Your choice |
|---|---|---|
| The OpenAI-compatible endpoint you configured | AI processing (including AI Radio scripts) | Only when you enable it explicitly |
| ElevenLabs | Audio generation and AI Radio voices (the text to be read aloud) | Only when you choose ElevenLabs for audio generation |
| Hugging Face | Downloading speech.cpp models only (no text is sent) | Only the first time you use a model with Irodori-TTS + speech.cpp |
| Article sites (the article pages of feeds you subscribe to) | Material for AI Radio scripts (each article page is read once; no cookies are sent) | Only when “Read Full Articles for AI Radio” is on |
| OpenAI | Image generation (your prompt) | Only when you choose Via MCP (Codex CLI) or the OpenAI API for image generation |
| Google (Gemini API) | Image generation (your prompt) | Only when you choose the Gemini API for image generation |
| Cursor | Image generation (your prompt) | Only when you choose Cursor CLI for image generation |
| Draw Things at the URL you set (this machine by default) | Image generation (your prompt) | Only when you choose Draw Things for image generation |
| Google Firebase (Tokyo region) | Cloud sync, and P2P Connection's device list | Only when you sign in (the device list only while P2P Connection is on) |
| Google Firebase (Tokyo region) | Records of receiving the first egg and of Trial Mode (a hash made from this Mac's hardware identifier, account ID, when the trial started and ended, and why it ended) | On first launch (recorded under an anonymous ID if you aren't signed in); the trial record only when you start Trial Mode |
| Google Firebase (Tokyo region) | Records of game data downloads for learned games (account ID, device ID, game and version, app version, OS, and whether the download succeeded) | When game data for a learned game is downloaded (recorded under an anonymous ID if you aren't signed in) |
| The public HyperDHT network (bootstrap nodes at hyperdht.org and nodes run by participants worldwide) | Finding and connecting to your other devices for P2P Connection (IP address, port and P2P public key; what the devices exchange is encrypted) | Only when you turn on P2P Connection |
| The distribution server dl.aic0t.com (run on Amazon Web Services CloudFront and S3) | Checking for and downloading new versions (identifies itself by the app version, build number and OS) | Only while "Update Automatically" is on (it is by default) and when you choose "Check for Updates…" |
| The distribution server dl.aic0t.com (run on Amazon Web Services CloudFront and S3) | Downloading game data for learned games (identifies itself by the app version, build number and OS; the download URL contains no account or device information) | After a game has been learned and you allow the download (new versions of the game are downloaded again) |
| Stripe | Payment for an egg | Only when you buy one |
| Claude (MCP integration) | The action you asked for | Only when you enable the integration |
Except where we are required to disclose by law.
| What | How long |
|---|---|
| Save data (raising, lineage, encyclopedia) | Stays on your machine until you erase it |
| Memos | Stay until you erase them. Deleting moves the file to your OS trash |
| Images and audio you generate | Stay until you erase them. They're saved in the "AI Coach" folder inside Pictures (images) and Music (audio) |
| AI Radio scripts and the article-page text that was read | Not stored. Kept in memory only during the show. Only when “Save AI Radio Scripts to Memos” is on is the script you heard written to a memo, which stays until you erase it |
| AI Radio show audio | Only when “Save AI Radio Shows” is on: saved as WAVE in the “AI Coach” folder inside Music, until you erase it |
| Consultation conversations | Not stored. They leave memory when the session ends |
| Voice input audio | Not stored. Discarded once it becomes text |
| The Claude integration's activity display | Clears itself after 15 minutes at most |
| Cloud sync data | For as long as the account exists. Closing it deletes the data |
| Records of receiving the first egg and of Trial Mode | The account record (when the trial started and ended, why, and so on) stays while the account exists and is deleted when you close it. To prevent do-overs, it can't be changed or erased afterward. The device record (the hash) stays after the account is closed so the first egg can't be claimed again on the same Mac, but the account ID is removed from it. This Mac also keeps its own trial record (start time, end date and so on) in the keychain |
| P2P Connection's device list (cloud) | While P2P Connection is on. Turning it off on this machine or signing out removes the entry. Removing another device with "Remove…" deletes its key and leaves a removal mark (device name, OS and time), which goes away when that device turns P2P Connection back on or when you close your account |
| HyperDHT announcements | Withdrawn when you turn P2P Connection off or quit the app. If a withdrawal doesn't get through, standard nodes drop the announcement after about 20 minutes |
| Memos, RSS feeds and shortcut key assignments synced over P2P Connection | Stay on each synced device until you erase them. Erasing on one device erases on the other too (memos go to the trash) |
| What passes through SSH over P2P Connection | AI Coach doesn't store it; it only flows between the two devices (shell history and the like on the Mac you log in to follows that Mac's own settings) |
| Update checks and downloads | The distribution server keeps no access logs. A downloaded new version is removed from your machine once it has been installed (if a disk image is placed in Downloads for you to install by hand, it stays until you delete it) |
| Game data for learned games | The distribution server keeps no access logs. Download records (account ID, device ID, game and version, etc.) are kept on our server (Firebase) for 1 year and then deleted automatically. The downloaded data stays encrypted in the app's folder on your machine, and the old version is removed once a new version replaces it |
Uninstalling the app does not erase the folders above. To clear everything, run "Erase your records" or
delete those folders yourself.
For questions about privacy and how data is handled, use the contact form on the site or write to
contact.aicoach@gmail.com.
Five languages are supported: 日本語 / English / 简体中文 / 繁體中文 / Español.
The display language is chosen automatically to match your OS system language.
On systems set to an unsupported language, the app displays in English.
| macOS | Windows | |
|---|---|---|
| OS | macOS 26 or later | Windows 10 / 11 |
| Recommended | Latest macOS | Windows 11 |
| CPU | Apple Silicon | x64 |
| Framework | Swift 6.4 / AppKit | C++ / WinUI 3 |
Some features require an internet connection. Sync uses Firebase. The macOS version is Apple Silicon only. The Windows version is in development and coming soon; it is not distributed yet.
These features aren't available on Windows yet. We're working through them.
My character isn't showing up
Open "Character management" from the menu bar (macOS) or task tray (Windows) and check whether they've been put away. Ghosts can be called back from the put-away list too.
My egg won't hatch
Eggs hatch on time alone. No feeding needed. Time doesn't pass while they're put away, so leave the egg out on screen and wait.
Voice input isn't responding
Transcription results aren't going into other apps
Auto-typing requires Accessibility permission — grant it in settings. Also check that the auto-typing setting is turned on.
The AI isn't responding
Check your endpoint and model name in AI Settings. If you're using llama.cpp, the context length needs to be 8192 or more. When there's no response, the app automatically switches to ordinary lines.
The eggs I bought haven't arrived
Restart the app and check the Hatch Tray. If they still aren't there, contact us and include the email address you used for the purchase.
My data isn't carrying over to another device
Check that both devices are signed in to the same Google / email account. Sync becomes active on accounts that have purchased at least one egg.
The illness won't clear up
"Nurse" is effective once per hour. With high immunity, they recover naturally. Keep them fed and let them sleep properly.
Claude can't find AI Coach
Check that AI Coach is running and that the integration is enabled. Connection details are rebuilt on every app launch, so restarting AI Coach once often fixes it. You can also check whether it's been added under "Connect to Claude" in AI Settings → Connect.
I can't add it to Claude Code
Registering AI Coach with Claude Code needs Node.js 22 or later on your PATH. Claude Desktop can connect without Node.js.
I asked Claude, but nothing happened
Nothing is shown on a sleeping character, an egg, a ghost, or one that's put away — and the same goes for during consultation, conversation, or transcription. Bring another character out and try again.
The "working" display is stuck on screen
It clears itself after 15 minutes at most. To clear it sooner, tell Claude the work is over, or put that character away once.
Holding fn doesn't bring up the ring
Check that you're holding it for 0.3 seconds or more. Pressed together with another key, it's treated as an ordinary shortcut. If nothing has been put on the ring yet, choose items with "Ring Launcher…" under Settings in the menu bar. Also check that Accessibility permission is granted.
"Create AI Image…" doesn't appear in the menu
Either that child hasn't learned AI image generation yet, or the method chosen under AI Settings → Images can't be used on this Mac. On-Device only works on Macs that support Apple Intelligence.
"Create AI Voice…" doesn't appear in the menu
Under AI Settings → Voice, set up a method so it's usable and save it (ElevenLabs needs an API key, and Irodori-TTS + speech.cpp needs the speech command).
The other Mac doesn't show up in the P2P Connection list
Check that both Macs are signed in to the same account and that P2P Connection is turned on in "P2P Connection…" on both.
If this didn't solve it, please reach out through the contact form on the site.
The FAQ is worth a look too.