CoCalc documentation
Account and billing
- Migrating from cocalc.com
Move legacy cocalc.com billing credit and projects into CoCalc.ai using the same verified email address.
Projects
- Create a project
Create a durable Linux workspace for files, notebooks, terminals, chat, and agents.
- Start and hand off a research task
Create and check a small analysis in Essential, save its context, and let a collaborator or viewer pick it up.
- Project secrets
Store runtime credentials as encrypted, read-only files, select secrets to copy with the CLI, and check mount-refresh results.
- Open a terminal
Use durable collaborative terminals backed by real project Linux processes.
- Use the projects page
Find, open, create, and organize the CoCalc projects you can access.
- Publish project files
Publish an exact file, a folder, or the whole project with an unlisted signed-in share link.
- Use task files
Use task files for shared checklists, project plans, and durable TODO lists.
- Project images
Choose, customize, and reuse the Linux software stack for a project.
- Create a project with RStudio
Create a CoCalc AI project with the RStudio and Jupyter image, then launch RStudio Server.
- Publish project images
Publish project images with metadata, public slugs, discovery actions, app launchers, and CLI automation.
- Add project collaborators
Invite collaborators or read-only reviewers, select visible files, and manage access as the work changes.
AI
- Use the Agents workspace
Start an agent with a request, review its results, and continue the work from one workspace.
- Agent features: Codex and Claude Code
A systematic feature reference for Codex, with Claude Code support levels, limitations, and links to detailed guides.
- Give an agent CoCalc access
Give an agent temporary access to selected CoCalc projects or all your projects.
- Connect AI access
Connect ChatGPT or OpenAI API access for Codex and project code.
- Open Codex chat
Use Codex inside a durable project workspace with files, terminals, and notebooks.
- Claude Code in CoCalc (Experimental Preview)
Use Claude Code in CoCalc: experimental setup, images, Agent Networks, credentials, billing, and the security model.
- Configure Codex chats
Choose access, models, reasoning, speed, defaults, and parallel workers.
- Guide and fork Codex conversations
Steer running work, queue follow-ups, send to existing threads from the CLI, choose a working directory, and fork context.
- Goals and questions
Manage continuing objectives and answer blocking or asynchronous questions.
- Schedule agent work
Schedule Codex prompts or Bash commands, review runs, and pause automation.
- Notifications and session activity
Choose completion notifications and inspect or stop ongoing Codex sessions.
- Use Agent from an editor
Supply document context, select a conversation, review prepared prompts, and reuse generated images.
Research workflows
- Reproduce a Python analysis in a fresh project
Run a complete example twice, compare input hashes and saved results, and record the research environment.
- Analyze a CSV with streaming group statistics
Read a synthetic CSV one row at a time, check saved means and variances independently, and recognize incomplete results.
- Move a Jupyter or Colab notebook into CoCalc
Transfer a notebook and its data, select the right kernel, replace platform-specific assumptions, and check a fresh run.
- Resume a computation after interruption
Run a checkpointed Python example, deliberately fail it, resume unfinished cases, and verify the saved results.
- Run and verify a bounded parallel CPU sweep
Compare one and two worker processes, check numerical integrals independently, and verify complete saved results.
- Compile and verify a C numerical component from Python
Compile a C numerical routine, call it from Python, compare independent results, and retain source and build evidence.
- Run a research analysis from your laptop
Upload inputs with the CLI, execute in a CoCalc project, inspect the remote result, and retrieve a checked artifact.
- Recover research files and environments
Choose file history, snapshots, backups, or a clone, and practice restoring a checked copy without overwriting current work.
- Share a private research dashboard
Launch a small managed HTTP app, verify readiness and collaborator access, inspect failures, and stop it.
- Run and continue remote Codex tasks
Start a bounded CLI agent task, retain its continuation identifier, inspect sessions, and interrupt a selected task.
- Run and verify a PyTorch GPU notebook
Check compute and CUDA software separately, calculate on a GPU, and save device and result evidence.
- Create a reproducible R report with Quarto
Render a complete R analysis and plot to HTML, inspect the output, and preserve the inputs and environment for a collaborator.
CLI
- Use the CoCalc CLI for automation
Use the CoCalc CLI for authenticated docs, browser, notebook, and project automation.
- Get started with the CoCalc CLI
Install the CLI, sign in on your own computer, and inspect a project step by step.
- CLI authentication and targets
Choose profiles, environment credentials, project context, browser targets, and fresh authentication.
- Find the right CLI command
Navigate command families for files, notebooks, collaborative documents, agents, browsers, and operations.
- Use the CLI in scripts
Parse JSON, check remote exit codes, and recover operations and asynchronous execution jobs.
- Edit collaborative text with the CLI
Read, check, edit, and save live text with version and hash expectations.
- Run and save notebooks with the CLI
Insert and run live notebook cells, inspect outputs, and recover detached runs.
- Test browser workflows with the CLI
Resolve browser targets, inspect the supported API, verify UI actions, and recover asynchronous work.
- Schedule agent tasks with the CLI
Create a disabled daily task, verify its configuration, and manage runs and updates.
- Manage workspaces and notices with the CLI
Create and update workspace records, leave durable notices, and distinguish messages from agent turns.
- Build documents and track CLI versions
Run complete document builds and distinguish CLI, server, browser, and agent-skill versions.
API
- CoCalc HTTP API and API keys
Use the limited CoCalc HTTP API carefully, and prefer cocalc-cli for most automation.
Terminal
- Use terminals
Use persistent collaborative Linux shell sessions inside CoCalc projects.
- Run graphical Linux applications
Launch Wayland and X11 applications, switch their windows, and connect terminals or notebooks to the graphical session.
- SSH access to projects
Connect to cocalc.ai projects from a computer or another CoCalc project using SSH.
Files
- Work with project files
Use the project filesystem as the shared place for notebooks, scripts, datasets, and output.
- Use the file explorer
Create, open, upload, rename, move, and organize project files.
- Use Markdown
Write README files, notes, instructions, math, code blocks, and collaborative documentation.
- Create slides
Create presentation slides that live with the project files they explain.
- Use whiteboards
Sketch diagrams, lecture notes, and visual plans in a collaborative project file.
- Use TimeTravel
Inspect, compare, and recover the history of files in a project.
- Use Git
Use Git for repository history alongside TimeTravel for file-focused recovery.
Jupyter
- Create a Jupyter notebook
Create collaborative notebooks with kernels and output capture in the project backend.
- Use Jupyter notebooks
Use collaborative durable Jupyter notebooks, including legacy Sage worksheet conversion and rerun checks.
- The Studio notebook view
Navigate, run, and present a notebook in the content-first Studio view, with markdown headings as sections.
- Remote Jupyter kernels
Use another machine's Jupyter kernel or GPU from a collaborative CoCalc notebook, without automatically synchronizing files.
- Custom Jupyter kernels with uv
Create a custom Jupyter kernel backed by a uv-managed Python virtual environment.
- Install the Octave Jupyter kernel
Install GNU Octave and octave-kernel into an existing CoCalc AI project without changing the default Python kernel.
Troubleshooting
- Jupyter kernel terminated
Recover from Jupyter kernels that crash, restart, or fail to start.
- Project will not start
Identify maintenance, resource-pressure, disk-quota, and host-connection start blocks and choose the next check.
- Low memory and out-of-memory crashes
Diagnose low-memory warnings, out-of-memory kills, and notebook kernel restarts.
- Connectivity and browser troubleshooting
Diagnose sign-in, websocket, stale browser state, and network connection problems.
Python
- Use Python in CoCalc
Use real Python through notebooks, scripts, terminals, virtual environments, and papers.
LaTeX
- Build LaTeX documents
Write and build LaTeX papers, assignments, reports, figures, and bibliographies.
R
- Use R Markdown
Write reproducible R reports with Markdown prose, R chunks, plots, and rendered output.
Self Hosting
- Install CoCalc Star
Install CoCalc Star on a public Ubuntu VM, complete first-admin setup, and identify connections and retained state before maintenance.
- CoCalc Star on a local VM
Install CoCalc Star inside a local Ubuntu VM for private, fast, offline-friendly work on your own computer.
- How to install Chromium
Install real apt-managed Chromium on Ubuntu from ppa:xtradeb/apps and prevent Ubuntu's snap transition package from returning.
- Temporary SSH access to your computer
Temporarily let a trusted CoCalc project SSH back to your computer through a reverse SSH tunnel.
Project hosts
- Choose compute for research
Compare project hosts, managed VMs, and remote kernels, then check machine fit, availability, permissions, and readiness.
- Use project hosts
Run projects on dedicated or cloud-backed hosts and understand CPU sharing, RAM limits, and GPU access.
- Manage project host access and RAM
Delegate host access and understand shared-pool tiers, private-host RAM defaults, and per-project caps.
- Move projects between hosts
Move projects between hosts while accounting for backups, snapshots, region changes, and SSH.
- Project host lifecycle actions
Understand start, stop, restart, drain, deprovision, and delete actions for project hosts.
- Spot recovery strategy for project hosts
Explain spot retry windows, standard fallback, probes, and returning from fallback to spot.
- What can change on a project host and when
Know which host edits are online, which require restart, and which require deprovision.
- Understand project host reliability
Read host reliability, availability, outage exposure, planned downtime, and day-grid signals.
- Project host software and daemon lifecycle
Understand runtime software, managed daemons, reconcile, upgrades, drift, and rollbacks.
- Project host storage, backups, and snapshots
Understand host disk capacity, storage mode, backups, snapshots, and online disk growth.
- Shared scratch disks on project hosts
Use host-scoped /scratch storage without confusing it with project storage, backups, or moves.
- Inspect host metrics and logs
Interpret host metrics and logs to investigate resource pressure, provisioning, and runtime failures.
- Use an exam scratchpad host
Set up, rehearse, run, and end an in-person exam on a private project host, with a clean, network-isolated notebook project for each student.
Collaboration
- Use chat
Discuss project work with collaborators and AI assistants in durable chat files.
- Use mentions
Notify collaborators with @mentions and return to the relevant project context.
Teaching
- Teach a course
Run computational courses with student projects, assignments, collection, grading, and feedback.
- Course-sponsored compute
Understand course-funded student VMs, spending limits, and what happens when funding or storage retention ends.
- Configure course student pay
Configure student pay, instructor-paid seats, site licenses, course start dates, and grace periods.
- Restrict student projects
Explain each student-project restriction option and what it really disables.
- Course shared project
Use a common writable project shared by all students, instructors, and TAs.
- Course project images
Choose and roll out managed images for course projects.
- Create a course assignment
Assign, collect, grade, and return computational work in student projects.
- Use nbgrader
Use nbgrader for structured Jupyter notebook grading in CoCalc courses.
Docs
- Quick Navigation
Jump between projects, files, editor frames, and settings using the keyboard.
- Use the docs browser
Search version-matched CoCalc-ai docs from the public site or inside a project.
- Use executable docs actions
Use stable docs action ids to open the right UI from docs or Codex.
- Use browser-session automation
Use scoped browser-session automation to inspect UI and verify docs.