Guide & tips
A practical tour of CrimeCode: install it, sign in, pay, build a team, learn the keyboard shortcuts, and get the most out of the live collaboration features. Keep this page open in a tab while you set things up — most chapters are three-minute reads.
1. Install & first launch
CrimeCode ships as a native desktop app on every major OS, plus a web build at crimecode.cc. Pick whichever path matches where you work.
Windows
- Download
opencode-electron-win-x64.exefrom the latest GitHub release. - Run it. Windows SmartScreen will say "Unknown Publisher" — click More info → Run anyway. (We're in the process of getting a commercial code-signing certificate.)
- The installer creates a Start Menu shortcut and auto-launches.
macOS
- Download
opencode-electron-mac-arm64.dmg(Apple Silicon) from the latest release. - Open the DMG and drag CrimeCode into your Applications folder.
- First run: right-click → Open, then confirm (Gatekeeper blocks non-notarized apps unless you explicitly allow them).
Linux
Three formats are published per release:
- .AppImage —
chmod +xthen double-click. No install needed. - .deb — Ubuntu / Debian / Mint:
sudo dpkg -i opencode-electron-linux-amd64.deb. - .rpm — Fedora / RHEL / openSUSE.
Web
No install. Just open crimecode.cc. The web build has ~95% feature parity with desktop — the only gap is the native terminal sidecar, which means longer-running shell commands live on whichever server you connect to.
Desktop and web share the same account. Sign in on one, sync works across both — your recent projects and preferences follow you.
2. Start the 2-day free trial
On first launch you'll see the Subscription gate — a full-screen page with three plan cards (Monthly, Annual, Lifetime) and a big Start 2-day free trial button.
- Click Start 2-day free trial.
- The gate disappears and you're in the editor. No sign-up, no card, no email.
- The trial lasts 48 hours per device. If you re-install the app or switch devices, the trial does NOT reset — we track the trial-consumed flag in the local license store.
A single trial per person, by design. If something blocks you from using the trial productively (e.g. a bug) message @OpCrime1312 and we'll extend it.
3. Pay for a plan
Three tiers — Monthly $20, Annual $200, Lifetime $500. All are crypto-only. BTC, LTC, and ETH are supported natively, other chains (Monero, USDT) are available by DM.
- On the Subscription gate, click Pay via Telegram bot under the plan you want.
- Telegram opens at
@CrimeCodeSub_botwith the order pre-filled. - The bot replies with three wallet addresses and the exact amount to send on each chain (the last digits are a unique discriminator so we can match your payment to your order without you quoting anything).
- Send the exact amount to ANY one of those addresses from any non-custodial wallet.
- Wait 1–15 minutes. The bot's on-chain poller detects your transaction and DMs you the license token (format:
CC2-...). - Back in the app, click I have a license token on the Subscription gate, paste the token, click Activate. Done.
Send the exact amount the bot gives you. If you round up or down, the poller won't match and a human (us) has to reconcile manually. That delay can be hours, not minutes.
The order expires 60 minutes after creation. If you miss the window, just run /order <plan> again in the bot and you'll get fresh addresses at the current exchange rate.
4. Sign in with Telegram
Sign-in is optional — the app works without it — but it unlocks cloud sync, teams, and cross-device license portability. No email, no password.
- Menu → File → Account / Sign in… (web: click the account icon in the workspace dock).
- Click Sign in via Telegram.
- An 8-character PIN appears (e.g. ABCDEF12). The app also opens the bot at
t.me/CrimeCodeSub_bot?start=auth_<PIN>. - On Telegram, tap Start. The bot replies "Signed in as @handle. You can close this chat."
- The app auto-detects within 2–4 seconds and shows "✓ Signed in" with your customer ID.
Every new sign-in triggers a Telegram DM to you saying "New device signed in to your CrimeCode account" with the device label and time. If it wasn't you, hit Sign out immediately and tell @OpCrime1312.
5. Open and create projects
A project in CrimeCode is just a directory. No .crimecode config file, no special format.
Open an existing project
Menu → File → Open Project… (Ctrl+O / Cmd+O), pick a folder. The project becomes your default workspace for sessions, terminals, and AI chats.
Create a new project
Menu → File → New Project… (Ctrl+N / Cmd+N), pick where to create it, give it a name. The app creates the directory and opens it as a project.
If you're signed in, every new project is recorded in your cloud-synced recents list — switch devices and it shows up in Open Project's "Recent projects" shortcut.
6. Integrated terminal
Toggle the terminal panel with Ctrl+`. Each terminal runs inside a pseudo-terminal (PTY) managed by the sidecar — so it survives an app restart as long as the backend keeps running.
- New terminal: Shift+Ctrl+` or the
+button in the terminal panel tabs. - Next / previous terminal: Alt+↑ / Alt+↓ on the terminal panel.
- Kill terminal: click the × on the tab. The PTY is torn down and the tab removed.
If the backend redeploys while you have terminals open, the tabs auto-reconnect — new PTYs are spawned to replace the dead ones and your command history for the session is preserved in the scrollback (though not the live process state).
7. AI assistants
CrimeCode ships with multi-provider AI support out of the box — you connect whichever accounts you already have.
Supported providers
- Anthropic (Claude) — API key or OAuth via console.anthropic.com.
- OpenAI (GPT-5, GPT-4 family).
- Google Gemini.
- GitHub Copilot — authorize with your GitHub.com or Enterprise account.
- Local models via Ollama, LM Studio, any OpenAI-compatible endpoint.
- Full list: Cerebras, Cohere, DeepInfra, Groq, Mistral, Amazon Bedrock, Vercel AI Gateway, and more.
Add a provider
- Settings → AI providers.
- Pick one, click Connect. For OAuth providers a browser-style flow opens (or a device code if the provider doesn't support redirect).
- Select a default model and you're done.
AI calls go directly from your machine (desktop) or browser (web) to the provider. CrimeCode never proxies chat content. The sidecar at api.crimecode.cc handles licensing and teams — nothing else.
8. Teams — create, invite, roles, ownership transfer
Teams are shared workspaces with role-based access. Annual and Lifetime plans include up to 20 members per team.
Create a team
- Sign in (teams require a real account).
- Workspace dock (bottom-left) → click the workspace switcher → ⊕ Create Team.
- Type a team name, click Create Team. You become the owner automatically.
Invite members
Open the team in the switcher → click the ⚙ gear → Add Team Member. Two identifier formats:
@telegram-handle— invite via Telegram. If the user isn't registered yet, the invite is saved and auto-accepted the moment they sign in.email@example.com— pending invite that matches on sign-in if the user has linked that email.
Roles
| Role | Can do |
|---|---|
| Owner | Everything: add/remove members, rename team, delete team, change roles, transfer ownership. |
| Admin | Add/remove members, cancel invites. Cannot delete team or change other admins' roles. |
| Member | Read-only access to the team's workspace metadata and live sessions. |
Transfer ownership
Open the team's Manage dialog → next to any non-owner member click 👑. A confirmation lists what you lose (delete team, further transfers, changing admins). Once confirmed, you're demoted to admin and the new owner has full control.
Ownership transfer is reversible only by the new owner transferring back. Don't hit the crown unless you really mean it.
9. Live collaboration & cursors
When you switch to a team workspace, a green "N live" badge appears in the workspace dock whenever another member is active. The collaboration layer is powered by Server-Sent Events — changes propagate in under a second.
Publish your session
Open a project, start working. The team workspace can "advertise" your session (title + state JSON) to other members. When you do, your cursor is visible to everyone else on the team who's viewing the same workspace.
Watch someone else
With the team workspace active, other members' cursors appear as coloured arrows with their usernames. Each user gets a deterministic hue so you recognise them instantly. Cursors fade out after 4 seconds of silence.
Cursor publishing is rate-limited client-side to ~10 Hz, and only fires while you have an active live session. It's designed to be invisible — you should never see lag or notice it in dev tools.
10. Cloud sync
Once signed in, two snapshots are synced to our cloud key-value store:
client.settings— your full settings.v3 blob (theme, editor prefs, AI defaults).client.recent-projects— deduped list of your last 30 opened projects.
Manual backup / restore
Account dialog → Cloud sync section:
- 📤 Backup to cloud — push both snapshots immediately.
- 📥 Restore from cloud — pull down and merge; settings apply on next restart.
- Last synced: N minutes ago shown next to the buttons.
Sign-in automatically triggers a pull so a freshly installed app lands on your existing setup instead of defaults. Creating a new project auto-schedules a debounced push after 5 seconds.
11. Offline mode & the 7-day cache
CrimeCode is designed to work offline. The license is cached locally for 7 days after the last successful online validation:
- Activate a token online → license stored locally with expiry timestamp.
- Background check every 7 days (or on app start if last check > 7 days ago).
- If the server says "revoked" or "expired", local copy is updated.
- Network errors during background check leave the cached state alone — you stay productive.
After 7 days fully offline, you must reconnect once to refresh the cache. AI calls and team features obviously need internet on each use.
12. Keyboard shortcuts
The most useful shortcuts across the app. Swap Ctrl for Cmd on macOS.
| Action | Shortcut |
|---|---|
| New session | Shift + Ctrl + S |
| New project… | Ctrl + N |
| Open project… | Ctrl + O |
| New window | Ctrl + Shift + N |
| Toggle sidebar | Ctrl + B |
| Toggle terminal panel | Ctrl + ` |
| Back / forward navigation | Alt + ← / → |
| Previous / next session | Alt + ↑ / ↓ |
| Command palette / search | Ctrl + K |
| Developer tools | Ctrl + Shift + I |
13. Privacy hardening tips
- Use a Telegram account you don't tie to real-name identity. CrimeCode only knows your Telegram handle + user ID — if those are anonymous, so are you to us.
- Pay from a non-custodial wallet. Exchange withdrawals are traceable to KYC'd identities. Send from a wallet where the chain source isn't linked back to you.
- Review the admin session list periodically. Account → Sessions. Revoke anything you don't recognise.
- Turn off cloud sync if you prefer. Sync is opt-in through the Account dialog — if you never click "Backup to cloud" and never sign in, we literally cannot store anything for you.
- Disable error telemetry. Set
SENTRY_DSN=empty in your local desktop env vars (create a.envin the opencode config dir). The default build ships Sentry enabled but it can be turned off.
14. Troubleshooting
Subscription gate won't go away after activation
Usually a token typo — re-paste the full token (starts with CC2-) making sure there are no trailing spaces. If the server says "unknown", the token wasn't issued by our instance (double-check you copied from the right bot).
"Unknown Publisher" / "Gatekeeper blocked"
Expected — we haven't paid for a commercial code-signing certificate yet. Windows: More info → Run anyway. macOS: right-click → Open → confirm.
Payment sent but no token arrived
Check the transaction has ≥1 confirmation (BTC/LTC) or ≥6 confirmations (ETH) on a block explorer. If yes but still no bot message: DM @OpCrime1312 with your order ID + tx hash.
Terminal shows "404 Not Found" repeatedly
The server redeployed and forgot your in-memory PTY state. The app self-heals by cloning each dead terminal into a fresh one — just wait a few seconds and the panels come back. Your scrollback is preserved locally; the live process is gone (same as if you closed the terminal).
Web app says "Failed to connect"
Our backend might be mid-deploy (usually resolves in 60–90 seconds). If it persists, check status or ping @OpCrime1312. For self-hosted users, verify your server URL is correct in the Self-hosted tab of the AuthGate.
Desktop auto-update isn't working
Force-check: Menu → Help → Check for updates…. If nothing happens, uninstall and re-download from GitHub releases — auto-update requires the installed version to be > 2.0.0.
Still stuck?
Telegram: @OpCrime1312 or @JollyFraud. Include your order ID (if any), operating system, and a screenshot of the error.
Did we miss something?
The FAQ covers sales / legal / refunds. This page covers usage. If your question is "how do I …", send us a DM and we'll either fix the app, fix this guide, or both.