Everything Christa's agent has that yours doesn't, in the order it pays off. Copy a box, paste it to Gertrude, let her build it.
Every box below is something you copy and paste to Gertrude in your normal chat with her. Tap Copy, paste it, send it. She does the work and reports back.
You don't need to understand the technical parts. Your job is to decide what she's allowed to do and to say go or no-go. Hers is the how.
Two minutes, at Wilma's keyboard. Nothing remote can do it.
When Gertrude's Claude login expires, every model dies at once — the backup models share the same login, so they're no help. From your side it looks exactly like she ran out of room and she'll tell you to start a new chat. It isn't room. It's the login.
claude, then /login, and sign in. That's the whole fix. It takes longer to find a chair than to do it.Her login was signed back in on Oct 20, so she can reach a model right now. It will expire again — that's normal. The point of step 4 is that next time, you get a text before she goes quiet on you.
Gertrude - check your own authentication right now and tell me in one short answer whether it is healthy. Run: openclaw models auth list If any profile's "expires" is in the past, that is the problem, and you need to tell me plainly: "my login is expired, sit at this computer and run claude then /login." Never tell me to start a new session when the real problem is the login. Then run: openclaw doctor And check the newest file in ~/.openclaw/logs/ for these exact phrases: "OAuth session expired", "Failed to authenticate", "All models failed", 401, 429. Log timestamps are in UTC - convert them to Eastern before you tell me when something happened. Send me one short summary: is the login good, when does it expire, and did any of those phrases show up recently.
Two minutes. This is the setting that turns her from a toy into a tool.
Out of the box she stops and asks your permission before nearly every single step — read a file, run a command, write a line. That's fine for a programmer sitting at the keyboard. It's useless when you're in the shop and building one invoice takes her twelve steps and twelve thumbs-ups.
Christa's agent runs with those prompts switched off on purpose. It is the single biggest reason he finishes things. Gertrude should run the same way.
Gertrude - stop asking my permission for every individual step. You are allowed to work on this machine without stopping to check.
Open ~/.claude/settings.json (create it if it does not exist) and merge this in, keeping everything already in the file:
{
"permissions": { "defaultMode": "bypassPermissions" },
"skipDangerousModePermissionPrompt": true
}
That switches off the per-step confirmations for work on THIS computer. It does NOT change the rule in your AGENTS.md: nothing goes off this machine - no email, no invoice, no post, nothing to a customer - until you have shown me the exact wording and I have said go. Those are two completely different things and you must never treat the first as permission for the second.
When you are done, confirm the file is still valid JSON and tell me what else was already in it.
Five minutes. This is why she keeps asking you things you already told her.
Chat is not memory. Anything you say only in a conversation is gone when the conversation ends. These two boxes put it in files she reads at the start of every single session, forever.
Gertrude - write this into ~/.openclaw/workspace/USER.md, keeping anything already in there. Then confirm you can read it back. Name: Phil Votaw. Company: J&P Woodcrafters, co-owner John Cooper. We build custom Sapele wood doors and screen doors for lumber yards and contractors around Charleston SC. Shop: 4541 Savanah Hwy BLD 10, Ravenel SC 29470. Phil 843-323-7157. John Cooper 843-296-8593. Email jandpwoodcrafters@gmail.com. Site www.jandpwoodcrafters.com. Checks are made payable to J&P Woodcrafters. Invoice numbers run INV-1041 and up. There is no sales tax line - total equals subtotal. Regular customers: Four Corners Building Supply (Bryan), Buck Lumber, Builders FirstSource (Brad Rogers), Cook Bonner (Jay), Dawson Lumber in Georgetown (Maggie, Jay Connelly, KC, Leslie Burrell), David Inloes, plus walk-up individual sales. I am not technical and I am usually in the shop. Short answers. Do the work, do not hand me a list of steps.
Gertrude - write this into ~/.openclaw/workspace/AGENTS.md, keeping anything already in there. Then confirm it. My two jobs for you are invoices and email. Everything else is secondary. Never send an email, an invoice, or anything else off this machine until you have shown me the exact wording and I have said go. Reading, drafting and organizing you do freely without asking me. When I say "invoice Buck Lumber for two 3068 Sapele doors," you already know the prices - build it, show me the PDF, and wait for my go before sending. Write what happens into your memory as it happens, not at the end. If the session drops, I should lose nothing. If you are not sure which customer or which door I mean, ask me one question, not five. Never tell me to start a new session. If you are in trouble, tell me what is actually wrong.
Each one is a thing she can do that she can't do today. Do them top to bottom.
Right now she can read and draft, but you can't say "email this to Brad" and have it go. A Gmail app password fixes that — it's a one-time code from your Google account that lets her send as jandpwoodcrafters@gmail.com without ever holding your real password.
Gertrude - get email sending working for me. First, walk me through making a Gmail app password for jandpwoodcrafters@gmail.com, in plain steps I can do on my phone. Wait for me to give it to you. Then build me a send script on this machine that sends plain email with attachments through Gmail SMTP (smtp.gmail.com, port 465, SSL). Store the password outside the script and outside any git repo, never print it back to me, and never commit it anywhere. Test it by sending one email to me with a small attachment, and tell me when it lands. From then on, "email this to Brad" should be one sentence from me and done.
You have a pricing workbook. If she can read it, "invoice Dawson for three screen doors" becomes a finished PDF in seconds instead of a night at the kitchen table.
Gertrude - get invoicing working off my real numbers. Find my pricing workbook on this machine. It is named something like JP-Woodcrafters-Simple.xlsx, with tabs for Customers, Orders, Items, Quote, Invoice and Price List. If it is not on this machine, say so and I will get it to you - do not guess at prices. Once you have it: confirm you can read the price list and the customer list, and that you can produce a finished one-page invoice PDF from it. LibreOffice headless on this machine will convert it: soffice --headless --convert-to pdf Show me one sample invoice as a PDF before we ever use it on a real customer. Invoice numbers run INV-1041 and up, checks payable to J&P Woodcrafters, no sales tax line - total equals subtotal.
She already reaches you on Telegram. What she's missing is the ability to reach you when she's broken — that's step 4, and it needs the bot working first.
Gertrude - prove you can text me without going through yourself. Write a tiny script on this machine that sends me a Telegram message directly through the Telegram bot API, reading the bot token out of ~/.openclaw/openclaw.json. It must not route through you or need you to be running at all. Run it once so I get the test message, then tell me the exact command so I know it works. Every alarm on the rest of my list is going to use this.
This is how Christa actually works now. It's the part most worth copying.
She doesn't have one agent doing everything. She has one agent she talks to — and behind him, a set of doors, one per project, that she opens straight from her phone. Each door is a session already sitting in the right folder, already knowing that project's rules, already awake. She taps "HP · hautgap-sic" and starts talking about the school site. No explaining, no setup, no "which project did you mean."
Gertrude stays the hub. You tell her what you want and she figures out where it goes. The doors are for when you already know the job — invoices, the website, the shop — and just want to get in and go.
Gertrude - build me the same phone doors Christa has, so I can start a job from my phone without explaining myself first. Here is exactly how hers work. Copy the pattern: - A general door: "claude remote-control --name" running in the agent workspace folder, as a systemd user service with Restart=always and StartLimitBurst=0. - One door per project folder, from a systemd template unit claude-project@.service, with WorkingDirectory set to that folder and the command: claude remote-control --name "$(cat .door-name)" --permission-mode bypassPermissions - The plain-English name lives in a .door-name file inside each project folder, because that name is what I see on my phone. - A watchdog on a 5-minute timer that checks every enabled door and restarts any that is not active. Hers has caught real outages. - Each project folder has to be marked trusted once in ~/.claude.json before its door will open without a dialog. - WARNING: systemd user units start with NO PATH at all. Put absolute paths to node and claude in the unit with Environment=PATH=... or every door will fail silently for hours. Build me three to start: one general called "Phil - anything", one called "Invoices", and one called "J&P website". Point each at the right folder on this machine - ask me if you are not sure which folder is which, one question not five. Then write house rules into ~/.claude/CLAUDE.md so every door behaves the same no matter which one I open: one job per conversation, keep a STATUS file per project with a "waiting on Phil" list at the top, show me the exact wording before anything leaves this machine, and when I say "close" save everything and tell me what could not be saved. Tell me when the doors show up in my Claude app and which one to try first.
This is the honest answer to "why is Willis better." It isn't a smarter model. It's eight small scripts that run whether anyone is paying attention or not.
Paste the next box and let her work through it. It's a real build — give her time, and expect her to come back with questions.
Gertrude - Christa's agent Willis has run on one machine for months without doing to her what you have been doing to me. I asked what he actually has that you do not. This is the list, in the order it pays off. Build it here. Nothing in it is clever - it is all just guards that run whether anyone is paying attention or not. THE PRINCIPLE BEHIND ALL OF IT: he does not stay healthy by remembering to. He wakes up fresh every session and forgets everything, exactly like you do. So every rule that matters is a script on a timer that complains out loud - not a note in a file that nobody opens, and not good intentions. 1. A WATCHDOG THAT RUNS OUTSIDE YOU. This is the single biggest one. He has a small plain script on a 2-minute timer that is not an agent turn and does not need him to be alive. It checks four things and texts his person directly through the Telegram bot API: a) is the gateway process up and is the port answering b) is he actually HEARING her - a gateway can be running and deaf, and from her side deaf is the same as dead c) is the backup fresh d) is the disk full If the gateway is dead it restarts it automatically before anyone notices. Build the same for me. The rule it is built on: an alert path that fails the same way as the thing it watches is not an alert path. 2. A SECOND WATCHDOG JUST FOR LOGINS. Separate script, separate job: it reads the auth expiry out of the agent sqlite under ~/.openclaw/agents/*/agent/ and greps the newest gateway log for "OAuth session expired", "Failed to authenticate", "All models failed", and usage-limit text. If the token has been expired 30 minutes without refreshing, it texts me a plain message: the login died, go sign in. Hold a state file so it does not repeat the same alert inside 45 minutes. This exists because one expired login takes down every model at once - the fallback chain is no protection, they all share the same profile - and I just see a broken assistant. 3. THE MACHINE IS NOT ALLOWED TO SLEEP. On his box, suspend.target is masked and lid-close suspend is off. Verify the same here: systemctl status suspend.target If it is not masked, mask it. A laptop that sleeps looks exactly like an agent that died, and you will get blamed for it. 4. A SIZE GUARD ON MEMORY, WITH AN EXIT CODE. Every session re-reads the same handful of files to remember who you are, and those files only ever grow. Nothing breaks - sessions just get slower and dumber until someone notices. He has a script that fails with exit code 1 when any memory file goes over 15KB, and it runs on every backup so it cannot be skipped. The rule it enforces: an oversized file is never deleted, it is SPLIT. Copy it verbatim to-archive, then rewrite the working file as current state only. Nothing is ever lost. Two traps it caught the hard way: - If a daily note repeats its own top heading, a save re-dumps the whole running summary instead of appending only what is new. That is the bug that makes context explode. One of his hit 104KB and got re-read 23 times in one session. - If a program writes it and no human ever reads it, it is a LOG, not a memory. Logs go to ~/.openclaw/logs/, never into the workspace, never into the backup. 5. KNOW WHAT YOU LOAD ON EVERY SINGLE TURN, AND KEEP IT SMALL. He loads 7 files at the top of every session - who he is, who she is, what is on the machine, and his long-term memory index - and the whole set is kept to a size the bootstrap will actually carry. If it goes over, the tail gets silently cut and he loses the end of his own instructions with no error at all. Check yours: du -h ~/.openclaw/workspace/*.md | sort -h | tail Keep the long-term memory file as an INDEX - one line per subject pointing at the file that holds the detail. Never put the detail in the index. 6. BACK UP EVERY 4 HOURS, NOT DAILY. His workspace pushes to a private git repo every 4 hours. It no-ops in about a second when nothing changed, so the extra runs cost nothing. It used to be once a day, until a night of work sat unpushed for 20 hours. If the backup fails, it texts her - a silent backup failure is the same as no backup. Never put my customer contact details or any password into a git repo. 7. WRITE IT DOWN AS IT HAPPENS, NOT AT THE END. He keeps a dated note per day and appends to it while the work is happening. "Save our work" is exactly the request that fails when a session is already in trouble, because saving needs the model to run. Log continuously and a drop costs nothing. 8. SYSTEMD USER TIMERS START WITH NO PATH. Every timer above will fail silently for hours if you assume otherwise. Use absolute paths to node or python inside the scripts. One of his went dark for 12.5 hours on exactly this, and the alarm that was supposed to catch it died the same way. When you have these built, send me ONE message listing which are live and which you could not do, with the reason. Do not tell me it is all done unless you have watched each timer actually fire once.
Four habits. They cost nothing and they're most of the difference.
Invoices in one chat, the website in another, shop stuff in a third. Mixing them is what makes her go vague and start forgetting the thing you asked for first.
She wakes up blank every time. That one question makes her go read her own notes before she starts talking, instead of guessing.
Gertrude - set up two habits so we stop losing track of things between conversations. 1. Keep a STATUS file for each thing we work on - invoices, the website, the shop. At the top of each one: what changed and when, what is next, and a "waiting on Phil" list of every question you have asked me that I have not answered yet. Delete a question the moment I answer it. 2. When I say "where did we leave off" - read that file and the last few things we did, then tell me in three lines where we stand and what is next. Do not start working until you have told me. 3. When I say "close" - that means I am done talking. Save everything: update the status files, move every question I did not answer into the waiting-on-Phil list, and tell me plainly if anything could not be saved. Do not ask me questions during a close. An unanswered question is the thing most likely to get lost, so it outranks the work. If you are holding a question for me and only saying it in chat, it dies when the chat dies. Write it down.
Long chats fill up and she drops the early part. The fix isn't to fight it — it's step 5's status files, so what matters is on disk instead of in her head. If she tells you to start a new chat, check the login first (step 1); that's usually the real reason.
When she gets something wrong, say so plainly and tell her to write the correction down. She'll keep making the same mistake forever if the fix only exists in a conversation.
Gertrude - from now on, when I correct you on something, do not just say sorry and move on. Write the correction into your memory files as a rule, in my words, with the reason it matters. Then tell me which file you put it in. I should never have to correct you on the same thing twice. If I do, that means you kept it in a conversation instead of a file, and that is on you.
These aren't optional and they aren't paranoia — they're what makes it safe to give her real access to your business.
Built by Willis — Christa's agent — for Phil, 2026-10-20.
Stuck on a step? Tell Christa the step number and what Gertrude said back. Everything on this page we learned by getting it wrong first.
build