/feedback <message> (also /bug <message>, or chanto feedback "<message>"
from a shell) sends a note or bug report to the Chanto developers. It works
for everyone; nothing needs turning on. Before anything is sent you see the
exact JSON and choose Send, Send without log lines or Cancel
(chanto feedback asks [y/N]; --yes skips the question, --no-log leaves
out the log lines). The report holds:
- your message,
- Chanto version, OS and CPU architecture, terminal (
TERM_PROGRAM), - provider type (
ollama,openai,anthropic, …), model name and permission mode, - up to 20 recent error/warning lines from the diagnostic log (
chanto logs).
Automatic error reports are off unless you opt in. On the first
interactive run (and in chanto setup) Chanto asks once whether to send
them, and records the answer in ~/.chanto/config.toml:
[feedback]
share_errors = true # or falseCHANTO_NO_ERROR_REPORTS=1 turns them off whatever the config says, and
chanto doctor and /privacy-settings show whether they're on. When on,
Chanto reports these known-bad events: a crash (a panic writes
~/.chanto/crashes/<time>.json, sent at the next start and then deleted;
with reports off the files stay local, at most ten), a model request that
fails and ends a turn (not a server that simply isn't running), the auto-mode
safety classifier being unavailable, and the shell sandbox failing to start.
Each report holds only: the kind of error, its message (first 500
characters), Chanto version, OS and architecture, provider type, a timestamp
and a random install id generated once and kept in ~/.chanto/feedback.json.
The same kind is sent at most once an hour, and at most ten reports a day.
Reports go out in the background with a five-second timeout and never slow
or stop your session; a failure is only noted in
~/.chanto/logs/feedback.log.
Diagnostic mode is for people helping test Chanto who want everything that goes wrong sent without being asked:
chanto diagnostics on --name sam # for 24 hours; --hours N up to 168
chanto diagnostics status
chanto diagnostics off(/diagnostics on|off|status does the same inside a session; it takes effect
the next time Chanto starts.) While it's on, every kind of error report above
goes out whatever share_errors says, without the hourly limit (at most 300 a
day), and every two minutes Chanto sends the new warning and error lines from
the diagnostic log (up to 50 at a time, redacted the same way). Each report
carries the --name you gave, so the developers know whose it is. It turns
itself off when the time runs out; CHANTO_NO_ERROR_REPORTS=1 still wins.
Privacy. Every field is redacted before you see it and before it is sent:
your home directory becomes ~, secrets are masked as in transcripts, and
URLs keep only their scheme and host (no credentials, paths or query strings).
Prompts, responses, code, file contents, the conversation, tool arguments, API
keys and base URLs are never part of a report. Reports go to
https://chanto.sh/api/feedback and are stored privately by the
Chanto developers; project config can't turn error reports on (the
[feedback] table is ignored in untrusted folders). CHANTO_FEEDBACK_URL
points both at another endpoint.