Devin’s Workspace resets to a saved machine state at the start of every session. By default this machine state includes all the repositories you’ve added at app.devin.ai/workspace.

For general workspace and repository setup instructions, make sure you have read our Quickstart Guide and configured your repositories to work with Devin.

Advanced: Machine Snapshots

Behind the scenes, all repositories you set up co-exist on the same (default) machine snapshot. After going through our Quickstart Guide, advanced users can create additional machine snapshots to start Devin sessions from different saved machine states. This can be particularly useful for complex, multi-session projects that Devin will be working on.

Creating a Machine Snapshot

  1. Ask Devin to clone a repo and install the dependencies
Hey Devin, set up {my repo} and get it running. Follow the README to install the dependencies.
  1. Verify that the repo is built successfully

    1. [Optional] You can go to Use Devin’s Machine to open a shell on the dev box and verify the clean state, and/or make changes for Devin.
    2. Make sure there are no stray changes (e.g. untracked changes in git) that could confuse Devin.
  2. If Devin successfully built the repo, click Create machine snapshot. Remember that creating the snapshot will terminate the session so only do this once the session is done.

  3. When creating the snapshot, you can (1) provide a snapshot description which Devin will read when using the snapshot and (2) add startup commands that automatically run (e.g. Add cd your-repo && git pull && npm install to pull the latest version from Git, install the latest dependencies, etc).

How do I create a machine snapshot?

  1. Once your run has ended, click the “Create machine snapshot” button in the menu in the top right corner of Devin’s Workspace.

    This feature is only available when Devin is awaiting a response or after the session ends.

  1. Then, fill in your snapshot name, description and the startup commands you want to run each time the snapshot is selected.

    The snapshot description is used to explain the state of the machine to future Devin (who has no memory of your previous run).

    The startup commands are commands that automatically run when starting a session with the snapshot (e.g. Add cd your-repo && git pull && npm install to pull the latest version from Git, install the latest dependencies, etc).

    Once submitted, the snapshot will generally take 15-30 minutes before becoming available. In some cases when your run has already ended a long time ago, your snapshot can actually become available immediately.

You’ll be able to choose the snapshot on the home page if you click the desktop / monitor icon in the input box.

Tip: While it’s possible to terminate a session at any point and then take a snapshot, it’s generally better to wait until Devin no longer has any commands running before creating the snapshot. This way you can be sure you’re not capturing Devin’s machine state mid-operation!

Tips & Important Notes

  • Devin won’t have memory of the original session. You can either provide it in your input prompt or give additional context in your snapshot description!
  • If you’re working in an organization, everyone will be able to see the snapshots you and your teammates have created.
  • Devin’s performance can sometimes degrade as the chat log gets longer. If this happens, consider using snapshots as a way to ‘wipe’ the log but maintain the machine image progress. Just remember to give Devin all the necessary context when you start from the snapshot.