Something broke — where do I report it?+
sofacode.codedatda.casa/report/ — it asks for the
versions, the steps and a screenshot, and lands straight with the people who fix it.
Fixes name the report they close in the changelog. If it is a SofaNode, the form opens a
second set of questions — which part, how it was powered, what the face was showing — because a
blank screen and a missed swipe need completely different answers.
Report a SofaNode problem.
It does not do the thing I need — can I ask for it?+
Please do. sofacode.codedatda.casa/request/ is the
feature request form, for the apps, the watches, the desktop side and the SofaNode hardware
itself. Tell us what you were trying to do rather than which button you want — the problem
usually has a better answer than either of us thought of first. We cannot promise a date, but a
person reads every one, and anything that ships is named in the
changelog.
I review hardware or make developer content — can I get a unit?+
Yes — we are actively looking for reviewers and ambassadors. Reduced
pricing on a SofaNode or access codes for the app, plus your own code that takes 10% off for
your audience and pays you 10% of every sale. Apply here.
Is my code sent anywhere?+
No. The phone talks directly to the daemon running on your own machine, over your own network.
Nothing routes through a server SofaCode controls — there isn't one in the loop.
What does the daemon actually do?+
It's a small background process that sits between the app and VS Code — it relays your voice,
taps, and messages to Claude Code, Copilot Chat or Codex, and streams the session back to your device.
Does it work over the internet, away from home?+
Yes, two ways. Out of the box it works over your own VPN or a mesh network like Tailscale —
nothing is exposed to the public internet. Since 2.15 there's also built-in remote access
(off by default): the daemon publishes a single encrypted endpoint through a Cloudflare tunnel
or direct TLS with a pinned certificate, pairing stays LAN-only, and devices authenticate with
the same mutual-HMAC handshake — a token never crosses the internet. Connect at home once and
your devices roam automatically.
Is it secure?+
Pairing codes are short-lived and rate-limited. The long-lived token never crosses the wire —
device authentication is a mutual HMAC challenge, so the phone proves itself to the machine and
the machine proves itself to the phone.
Can I use it with Copilot Chat or Codex as well as Claude Code?+
Yes. SofaCode works with Claude Code, GitHub Copilot Chat and OpenAI Codex (the CLI and the VS Code extension; daemon 2.20) — and with
models running on your own hardware: turn on Local LLM (beta) in the SofaCode
extension and Copilot Chat can use LM Studio, Ollama or any OpenAI-compatible server, so the
model runs on your own hardware with no API key and no per-token bill. Copilot Chat itself
still has to be installed and signed in.
How to set it up.
Is there an iPhone app?+
Yes. The Android build is fully released on
Google Play, and the iPhone build on the
App Store — iOS 16 or newer, iPhone and iPad. The two ship together, at the
same version, as mirror images of each other.
What screen sizes does it work on?+
Anything running Android 8.0 or newer, up to and including a television. It is one
build that reflows rather than shrinks: a tablet gets room to breathe, a phone gets the full
deck, and on a screen small enough to wear it strips back to the state ring and the gestures.
That includes some Android-powered watches — the plain AOSP kind, since this is not a
Wear OS app today. An Apple Watch app is on the way — it is built and running, but
nothing carrying it has been released yet, so the iPhone build you can install today does not
include one. A dedicated Wear OS app is on the roadmap.
Does it run on Android TV?+
Yes, and it is the same Google Play build as the phone — not a second app, not a second
purchase. On a leanback device it appears in the TV launcher, opens the deck in its landscape
layout, and is driven entirely by the remote: the D-pad moves a focus ring between the
same controls a finger would tap, OK presses one, holding OK is the long-press, and Back steps
out. Pair it the way a watch pairs — Machines → Add machine → Enter pairing code and the
8 digits from the pairing window on your computer. A TV has no camera, so there is no QR
to scan, and the app does not offer one. Two honest limits: most televisions have no
microphone, so there is no dictation on the TV — you type with the remote, or talk from your
phone into the same session — and the app will not open a web page on a TV, it shows you the
address to type on a phone instead. Android TV is a separate Google Play form factor, so while
Google reviews the TV listing you may not see it on the TV store yet; the build itself already
carries everything above.
What is the SofaNode? Do I need one?+
The SofaNode is an optional desk device — a round touchscreen that
shows the live deck, takes your voice, speaks replies, and answers approvals with a swipe.
You don't need one; the app is the full product. It's for keeping the agent
in view without a phone propped against your monitor. $99 with free shipping, in stock
now, and it comes with 3 months of SofaCode free (a subscription code for your
store arrives with the order) —
see the full page.
How does the SofaNode get updates?+
By itself. The Node checks for new firmware at boot and offers Update from
its own menu — downloads, verifies, flashes, reboots, no cable. Auto-update is on by
default; turn it off in the menu if you'd rather trigger it yourself. The
web flasher (Chrome + a USB-C cable) is still there for the first
flash, or to update a Node by hand — it also sets up Wi-Fi and the clock's timezone, no
terminal. An update never wipes the device's pairing.
Can I pair more than one machine?+
Yes. Pair as many machines as you like, and as many devices as you like — two devices to
the same machine, or one phone to several machines.
What happens when my computer's IP address changes?+
Nothing you need to do. Trust is keyed to the machine's identity, not its address, so the app
keeps finding it after a router reboot or a new DHCP lease.
How do I update?+
The daemon checks for its own updates and tells you when one is ready. The app updates through
the store you installed it from, like any other app — Play and the App Store builds do not
self-update by design.
How do I uninstall?+
Remove the Android app like any other app, and run the daemon's uninstall command on your computer
(the installer prints it when it finishes, and it's echoed by sofacode doctor).
How does the free trial work?+
Subscribe to SofaCode in the app — Google Play or the App Store — and you get one week free before
the card on file is charged for the plan you picked, $5/month or $50/year. Cancel anytime in the
store and you won't be charged. No chat limits during the trial, no accounts server involved —
the store handles it.
Do I need a Claude subscription?+
Yes — your own Claude Code, GitHub Copilot Chat or Codex subscription. SofaCode is the remote control,
not the agent itself, and doesn't include either subscription.
Android says “speech recognition isn't available on this device”+
That's the phone's own dictation — the microphone inside the chat box hands its audio to
Android's speech-recognition service, and some phones ship without one enabled. Install or turn on
a recognizer: the Google app's Speech Recognition & Synthesis, or your phone maker's own
voice input, then check Settings → System → Languages & input → On-device speech recognition
(some phones call it Voice input). Once a recognizer is present, dictation in the chat box
works.
The deck's ring dictates on the phone by default, so it needs a recognizer too — the fix above
covers it as well. The one path that doesn't is the computer mic bridge, and it needs two things
on: the machine's own bridge (Settings → that machine → Computer mic bridge) and the phone's
Ring tap streams to the computer switch (Settings → Speech, off by default). With both on,
that audio is transcribed by the daemon itself, so the ring's wireless voice keeps working even
with no recognizer on the phone — and the same is true of the SofaNode's microphone, which
always uses the computer's bridge.