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 CrimeCode desktop installer is available for Windows x64. On macOS and Linux, open the web app in a modern browser.
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
Use the CrimeCode web app. The separate CLI installer downloads upstream OpenCode and does not provide the CrimeCode desktop account or shared-session features.
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. Create your account
CrimeCode requires an approved account and an active license before the IDE unlocks. Register, verify your email, and wait for approval. Then sign in and choose a plan on the pricing page.
- Open the desktop or web app and choose Create account: username, email and password, or continue with Telegram.
- Confirm the verification email we send you — this proves the mailbox is yours.
- Wait for your account to be approved. You'll see a "pending approval" state until then.
- Sign in with your username/email and password. The server checks identity, verified email and approval before anything unlocks.
Creating an account never signs you in automatically and never grants access by itself — email verification, approval and an active license are all required. If approval takes too long, message @OpCrime1312.
3. Pay for a plan
Three USD-priced plans — Monthly $20, Annual $200, Lifetime (one-time). You can pay by card through Stripe, with Telegram, or with crypto (BTC, LTC, ETH) through a NOWPayments invoice.
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 attached to your account after Stripe confirms payment.
Crypto
- On the pricing page, choose Pay with Crypto for your plan and sign in.
- Complete the NOWPayments invoice that opens for that order. Follow the amount and network shown there.
- After payment confirmation, the license is attached to the account used at checkout.
- Back in the app, sign in with that same account to unlock access.
The Telegram bot also offers on-chain checkout. Follow the bot's exact amount and wallet instructions if you choose that route.
Send the exact amount the bot gives you. If you round up or down, the poller won't match and manual reconciliation may be needed.
The order expires 60 minutes after creation. If you miss the window, run /order <plan> again in the bot to get fresh addresses.
4. Sign in
Sign-in is required to use the IDE — identity, verified email, approval and an active license are all checked by the server. It also unlocks cloud sync, teams, and cross-device license portability. Use a Telegram one-time PIN, or your email, username, and password account.
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. Each participant uses their own account; a team invitation grants workspace permissions and does not transfer the owner's license.
Create a team
- Sign in (teams require a real account).
- Open the workspace menu → 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 | Rename the team, add members, and manage invitations. |
| Member | Participate in shared chat and live sessions. |
| Viewer | Read-only access to shared workspace information. |
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
Switch to a team workspace to see available live sessions. Collaboration updates stream while connected; delivery depends on the host, relay, and network connection.
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.
Keep the host app open during a shared session. If updates stop, check the host and relay connection before rejoining.
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 access & license validation
Desktop tolerates a temporary connection outage after successful license validation. Account-bound licenses require an online recheck within 48 hours, and the license's own expiry still applies:
- Sign in online with an approved, licensed account to validate access.
- Reconnect before 48 hours have elapsed since the last successful validation.
- A revoked or expired license requires renewed access.
- A temporary network error can preserve access within the offline grace period.
Hosted AI, the web app, cloud sync, and remote collaboration require an active network connection. Local tool availability depends on the selected desktop workspace and provider.
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 payment
Sign out and sign back in with the same account that paid. The license is account-bound — there is no paste-token step. If you paid from a different Telegram/email account, link them with /link in the bot or contact support with your order ID.
"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 the app still shows the paywall
Check the transaction has ≥1 confirmation (BTC/LTC) or ≥6 confirmations (ETH) on a block explorer. Sign in again so Desktop/Web can sync entitlement. If the bot never confirmed payment: 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.