Technical
The detail,
for whoever wants it.
Nothing here is a claim we would not show you the code for. If a mechanism has an edge, the edge is on this page too.
01
What it needs
- Chip
- Apple Silicon. M1 or newer. There is no Intel build.
- macOS
- 11 Big Sur or later.
- Download
- Signed with an Apple Developer ID and notarised by Apple. It opens without warnings and without right-click tricks.
- Install
- Drag to Applications. Updating keeps your microphone and accessibility permissions.
02
What it drives
troth has no model of its own and sells you no tokens. It drives what you already have, and the way it connects differs per engine.
03
When your plan hits its limit
This is the hour that ruins an afternoon: the provider you pay for says you are done for now. troth treats that as a routing problem, not as your problem.
- Failover
- The request moves to the next engine you have configured, in order, and answers from there. You are not asked to pick.
- Cooldown
- A provider that refuses is set aside for 15 seconds. If it refuses again the wait doubles: 30 seconds, then 60, then 120, capped at 5 minutes. One success clears the record.
- Why back off
- Hammering a provider that just rejected you is how a short block becomes a long one. Waiting longer each time is what a careful human would do.
- Ordering
- The chain is ordered by what the request actually needs, so a small question is not sent to the most expensive engine you own.
04
What it refuses to pay for twice
Most of what an assistant spends goes on re-reading things it has already read. troth keeps a local cache of exactly those retrievals, and the saving lands in tokens rather than only in speed.
- What is cached
- File reads and searches, the two things an assistant repeats most while it works through a codebase.
- The key
- Tool, arguments, working directory, and a hash of the file's own contents. Change one byte and the key changes, so a stale answer is not possible.
- On a hit
- The underlying read never runs. The cached bytes go straight into the conversation, so the request that follows is smaller. The saving is in tokens, not just in time.
- Shared
- The background hooks and the tools write to the same store, so whatever one warms up, the other serves.
- Where it lives
- On your Mac, in the same local database as everything else troth remembers.
Three further savings come from routing rather than caching: context it already holds is never re-sent, small questions go to small models, and background work does not sit on a paid context window while it waits.
05
Running a model on your own Mac
A local model costs nothing per token and sends nothing anywhere. Here is exactly how far the app takes you, and where you still do a step yourself.
- The model
- Pick one and troth downloads it for you with real byte-by-byte progress, either through Ollama or straight from Hugging Face into a folder in your home directory.
- The runtime
- You need Ollama or llama.cpp installed first. troth does NOT install it for you yet. When it is missing the app says so plainly rather than pretending to be ready.
- Then
- The local engine sits in the same picker as everything else, and you can send a single question to it or make it the default.
- Cost
- Nothing per token, forever. Your electricity is the whole bill.
06
Voice
- Dictation
- Speech to text on the machine itself. No key and no upload. A global hotkey works in any app, not only in troth.
- Optional cloud
- You can point speech recognition at a service with your own key if you prefer it. Off unless you turn it on.
- Meetings
- Captures what is said and hands you the transcript.
07
Where your memory lives
The thing that makes troth worth having is also the thing you would least like to hand to someone else. So it is not handed to anyone.
- Stored in
- A single SQLite database in your home folder. Not a cloud account. Not ours.
- Survives
- Switching model, closing the app, and rebooting. What it learned on Claude is there when you use a local model.
- Leaves your Mac
- Nothing. The app has no telemetry and no account to sync to.
- Removable
- Delete the database and troth forgets, completely and immediately. Nothing is held anywhere else.
08
Your keys
- The rule
- The model receives the result of a call. It never receives the credential that made the call.
- How
- Keys live in a vault the model cannot read. The tool performs the request and returns only what came back.
- Why it matters
- A prompt that talks the model into revealing your keys gets nothing, because there was nothing there to reveal.
09
Tools and MCP
troth speaks MCP, so it can drive tools you already use and tools you write yourself.
- Included
- Shell, cached retrieval, precise file editing, memory, and a gateway that carries the rest.
- Adding your own
- Describe or paste a server and it is staged as a pending entry. It does nothing until you approve it. A model cannot grant itself a new tool.
- Images
- Generated through your own ChatGPT plan or your own Google key, saved as a file on your Mac.
10
Licence and updates
- Trial
- 7 days of the full app. No account, no card, and it works offline.
- Purchase
- One payment. No subscription.
- Macs
- 3 per licence. Release one from your account page at any time to free the slot.
- Updates
- 12 months included. After that the version you have keeps working, with no expiry and no phone-home.
- Refund
- The trial is the try-before-you-buy. See the refunds page for the rest.
The core is open source under the AGPL and you are welcome to read any of this for yourself. The repository is the same code the app runs.