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
The public desktop installer is available for Windows x64. The browser app runs at app.crimecode.cc, and the CLI quick install supports terminal workflows on macOS and Linux.
Windows
- Download the current Windows x64 installer.
- 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 and Linux CLI
Run curl -fsSL https://crimecode.cc/install | bash in a terminal. The installer selects the correct CLI binary for your platform.
Web
No install. Open app.crimecode.cc. Browser sessions connect to a configured backend, while the Windows desktop app includes the local terminal sidecar.
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 USD-priced plans — Monthly $20, Annual $200, Lifetime $500. You can pay by card through Stripe or use BTC, LTC, or ETH through the Telegram bot.
Card
- On the pricing section, choose Pay with Card.
- Sign in or create an account so the license has a delivery address.
- Complete payment on Stripe's hosted checkout page. CrimeCode never receives your card number.
- The license is delivered to your account email after Stripe confirms payment.
Crypto
- 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
Sign-in is optional during the trial, but it unlocks cloud sync, teams, and cross-device license portability. Use a Telegram one-time PIN, or create an email, username, and password account from the web checkout.
Telegram one-time PIN
- 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.
Request routing depends on the backend and model you select. A local desktop sidecar keeps session storage on your machine, while hosted backends process and may retain session content so you can resume it. The selected model provider receives the prompt and context needed to answer. See the Privacy Policy.
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
- Choose the sign-in and payment rail that fits your threat model. Email/password, Telegram, Stripe, and public blockchains expose different metadata to different processors.
- Use the local desktop sidecar for sensitive engagements. Hosted backends retain session content so it can be resumed; local storage keeps that state on your machine.
- Review your model provider. The provider you select receives prompts, attachments, and tool context needed to answer.
- 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. This prevents preference and recent-project snapshots from being copied to the sync service, but it does not change how your selected backend or model provider processes an active AI session.
- 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 the public API health endpoint 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 the latest Windows installer.
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.