Is the arc CLI safe to install?
This page states precisely what the arc binary is, what it does at runtime,
what leaves your machine and where it goes, and how to disable or remove any of
it. Every claim here is verifiable in the install scripts and the binary itself.
What it is
arc is a command line client for the Arc OS API. It parses your command, makes
HTTPS requests to the API, prints the result, and exits.
- One self contained executable, compiled from a single source file
(
clients/arc-cli.ts) with Bun. No dependency tree installed on your system. - One shot process. A command runs and exits; nothing persists in memory or
spawns a service. The only exception is
arc start, documented below. - One network destination:
arc-os.co(or a server URL you set yourself). The binary contains no other outbound host, no analytics, and no telemetry.
Install
The install scripts download the prebuilt binary from our server and place it on your PATH:
# macOS / Linux
curl -sSf https://arc-os.co/install.sh | bash
# Windows (PowerShell)
iwr https://arc-os.co/install.ps1 -useb | iex
Both scripts are plain text at those URLs. Open them first if you want to read what they run. Piping any script into a shell means trusting its source; if you prefer not to, download the binary from the URL inside the script, verify it yourself, and move it onto your PATH manually.
Runtime behavior
Day to day commands (arc issues, arc report, and so on) run and exit with no
residual process.
arc start launches a working session with Claude and installs session hooks.
These are the only background behaviors, and each has an off switch:
| Behavior | What it sends | Trigger | Disable |
|---|---|---|---|
| Chat sync | Your session messages (size capped per message) to your Arc account, so the web app can display the conversation. | During an arc start session. |
Use the plain commands instead of arc start. |
| Timesheet sync | Work times, project, active issue, commit subject lines. Not conversation content. At most once per 5 minutes. | During an arc start session. |
ARC_DISABLE_AUTO_SYNC=1 |
| Telegram ping | A short "turn finished" or "awaiting input" notification, if you connected Telegram. | During an arc start session. |
CRM_DISABLE_TG_NOTIFY=1 |
| Auto update | A scheduled task that checks for a newer version at logon. Windows only, and only if you ran the optional Windows installer. The curl/iwr scripts above do not set this up. | Logon, Windows installer only. | Uninstall removes it. |
None of these is a standalone daemon. They are hooks bound to an arc start
session or, for auto update, to a Windows installer you opt into. Nothing keeps
running after the session ends.
Chat sync sends your session transcript to the server. That is required for the
web app to show your chats; it is a product function, not a hidden channel. If
you do not want it, do not use arc start.
Data and destinations
- All traffic goes to
arc-os.co(or your configured server) over HTTPS. - Sent: work metadata (timesheet sync) and session messages (chat sync, during
arc startonly). - Not present in the binary: any third party analytics, advertising, or telemetry endpoint.
Credentials
arc loginstores your token in~/.arc/config.json, created with owner only permissions (0600 file, 0700 directory).- The token is transmitted only as an
Authorization: Bearerheader to the configured server. It is never written to logs or notifications; hook output is scrubbed of tokens, API keys, and JWTs before transmission. arc logout, or deleting~/.arc/config.json, removes it.
Verify and remove
arc --version # version
which arc # install location (macOS/Linux)
where arc # install location (Windows)
To uninstall, delete the binary from your PATH and remove the ~/.arc
directory.
In progress
- Checksums and code signing. The download is served over HTTPS, but we do not yet publish a SHA256 checksum next to it, and the binary is not yet code signed, so Windows and macOS may show an "unknown publisher" warning on first run. Signing and published checksums are planned so your operating system can confirm the file is authentic.
If anything here does not match what you observe, tell us.