FAQ

Which languages and frameworks are supported?

Devboxes and Repositories work with anything that can run in Docker. They provide the best experience for JavaScript (including TypeScript), front-end and full-stack. We provide official templates (with built-in LSP/IntelliSense) for Rust, Go, Python, PHP, Ruby on Rails, Elixir, Node, Deno, and many more (more templates coming soon).

Sandboxes are more limited. They support JavaScript/TypeScript projects.

Create a Sandbox or Devbox from a template (opens in a new tab), or read more about the difference between Sandboxes and Devboxes.

What operating systems and devices are supported?

CodeSandbox is designed for Desktop/Laptop operating systems, browsers and display resolutions.

Our editor may work on other operating systems and mobile devices. While we will take onboard feedback from users on these platforms, we do not officially support them or recommend them for the optimum CodeSandbox experience.

How can I make a Sandbox private?

There are several ways to set a Sandbox as private. One universal way (that works both for Sandboxes and Devboxes) is to right-click a Sandbox from the dashboard and select Make Sandbox private.

You can also change the privacy settings from the editor. Click the Share button on the top right and change the privacy drop-down at the top.

When should I mark my Sandbox as "protected"?

Nobody outside your workspace can edit your Sandboxes; they can only fork it. However, in cases where you want to ensure that even workspace members cannot edit the Sandbox (which could be the case for finished projects), you can mark it as "protected" so it is not accidentally edited.

I'm getting a 502 error "It looks like the dev server has not started yet", why?

Devbox previews are handled by a task that runs a dev server inside a CodeSandbox VM. Error 502 occurs when that task stops for some reason (some possible reasons being: task was stopped manually; application ran out of memory; the VM is not running). We automatically hibernate VMs (including the preview) after 5 minutes of inactivity for Free users and 30 minutes of inactivity for Pro users, but when someone attempts to access either the code or the preview, we quickly resume the dev server (usually in under 2 seconds) — so "inactivity" is not a cause for the 502 error.

To troubleshoot this error, follow these steps:

  • Open the Devbox on the CodeSandbox editor (if you only have access to the preview, forward these instructions to the Devbox author).
  • Confirm that the dev server task is running; start/restart it as needed.
  • Confirm that the preview tab on the right side of the editor doesn't show error 137 (which indicates that the Devbox ran out of memory).

If the problem persists after going through the checks above, please submit a bug report (opens in a new tab)).

My Devbox is running out of memory; what can I do?

You can increase the specs of the VM running your Devbox to get more memory. Follow these steps:

  1. Click the CodeSandbox icon at the top left of the editor.
  2. Click "Virtual Machine".
  3. Under the "VM Specs" dropdown, pick a VM tier and then click "Apply" (if this option doesn't display, please ask a workspace admin to make this change).
💡

Legacy CodeSandbox Pro plans cannot change VM specs; first, they must be converted (opens in a new tab) to our new "usage-based billing" Pro plan.

I'm getting a CORS error when triggering a request to a Devbox URL, why?

The most common cause of this is your Devbox's privacy settings. Even when your Devbox is private, we still need a preview token to access the preview URLs. Currently, we do not support private Devboxes with public previews. Changing the Devbox privacy to 'Unlisted' often fixes this issue.

Why are my start scripts not having an effect?

For performance reasons, we ignore any specified scripts in Sandboxes and use a default script instead. If you need to control the scripts, then we recommend using a Devbox.

I'm getting a 422 error when importing from GitHub, why?

There are a few possible reasons a repo might throw that error on import. The most common are: the lack of a package.json file, or the project using more than 500 modules (files).

If you think it's something else, or you're unable to solve this yourself, then get in touch using our support form (opens in a new tab) and provide a link to the repo you're importing and we can look into this for you.

Can I change the Node version used in a Devbox?

Yes, we have instructions on the VM configuration (opens in a new tab) page that explain how to change the Node version. All recent server Sandboxes run in a Devbox.

How can I change the editor's theme?

To change the theme, click on the CodeSandbox icon at the top left of the editor, then go to Editor > Color Theme, and select a theme from the Themes dropdown. You can also do it from the command palette (opens in a new tab) by picking the option "Preferences: Color Theme".

Do Sandboxes have any limitations?

We currently provide Sandboxes and Devboxes. Sandboxes have the following limitations:

  • Can only run front-end JavaScript or TypeScript projects (servers not supported).
  • Imported Sandboxes must contain a package.json file.
  • Lower file upload sizes, which are handled per account (as explained on the File Upload page).
  • Cannot use more than 500 modules (files). Note that node_modules and dependencies do not count toward this limit.

Devboxes are part of our evolved CodeSandbox experience, so we highly advise you to use them to avoid encountering these limitations.

I'm getting a 'Request Entity too Large' error, what should I do?

If you encounter this error when importing or committing, check your Sandbox or repo for large binary files and remove them.

Which CodeSandbox domains should I whitelist on my firewall to ensure CodeSandbox loads correctly?

If you suspect that your Sandboxes/Devboxes aren't starting due to your firewall rules, try whitelisting the following domains:

  • codesandbox.io
  • *.csb.app
  • worker.codesandbox.io

Can I use a database on CodeSandbox?

Yes, you can use any database that has a Docker image available with a Devbox. Some popular databases with Docker images include MySQL, PostgreSQL, MongoDB, and Redis.

Do I need to install Docker on my local machine to use it in CodeSandbox?

No, you don't need to install Docker on your local machine. CodeSandbox has built-in support for Docker (opens in a new tab), so you can use it directly in the online development environment.

How can I access the database once it's running in a Docker container?

You can access the database using the appropriate driver for your language or framework. Typically, you'll need to provide the hostname, port number, username, and password to connect to the database. If you want to connect locally to the database, you can use our VS Code integration to open the Devbox inside VS Code, and then forward the port of the database to localhost.

Can I use multiple databases in the same CodeSandbox project?

Yes, you can use multiple databases in the same project by running multiple Docker containers with different port numbers.

Can I use Docker Compose in CodeSandbox?

Yes, you can use Docker Compose in CodeSandbox to orchestrate multiple containers and define the relationships between them. However, you'll need to create a Docker Compose file and run the docker-compose command in the terminal to start the containers. We share more about this in our Docker tutorial (opens in a new tab).

Is it safe to use a database in CodeSandbox with Docker support?

Yes, it's safe to use a database in CodeSandbox with Docker support, as long as you follow best practices for security and keep your database credentials private. Docker provides a secure and isolated environment for running containers, so your database is protected from external threats. We also prevent any connections to your Devbox without sign in if your Devbox is private.

How can I troubleshoot issues with my database in CodeSandbox with Docker support?

If you're having issues with your database, you can check the container logs to see if there are any error messages. You can also run commands like docker ps and docker logs in the terminal to get more information about the container. Additionally, you can ask for help on the CodeSandbox community forums or consult the documentation of the specific database you're using.

Can I push/pull from a GitLab, Azure DevOps, or BitBucket repository?

Yes. While our Repositories only have built-in push and sync capabilities for GitHub, you can connect to a remote repository from any other git provider.

To do that, use our terminal to git remote add the remote repository and then add your credentials for it. You can also add the authentication details to the CodeSandbox microVM using environment variables (opens in a new tab).