Skip to main content
The generated Modal application is the operational unit for one outpost.

Check local prerequisites

Run this before the first deployment and after changing local credentials, the Modal SDK, or the configured Secret.

Follow a session

Use the Modal dashboard or the modal app logs command. A healthy session follows this observable path:
  1. A session assigned to the outpost starts a Modal invocation.
  2. The invocation logs show the Devin worker starting.
  3. Worker output is prefixed with the Devin session ID.
  4. The invocation finishes, or preserves the workspace when the session suspends.
Common outcomes:

Deploy configuration changes

Edit the generated outpost file and redeploy it:
modal-devin deploy always uses Modal’s rolling deployment strategy. Session invocations that are already serving work remain on the previous application version until their input finishes, while new work shifts to the replacement version. The durable dispatch lease prevents the old and new schedulers from starting the same pending session during that overlap. Independent schedulers may target the same Devin outpost. They can discover and dispatch the same pending session, but the Outposts atomic claim permits only one session invocation to serve it. Local dispatch leases reduce duplicate Modal work during rolling deployment overlap. Keep the Modal application running before redeploying it. modal app stop permanently terminates running containers, including active session invocations; a subsequent deployment creates a new application instead of performing a rolling update. Run init only for a new file; it preserves existing application code.

Retire an outpost

After every active or resumable session is no longer needed, destroy one deployment:
The command confirms interactively, stops the Modal app, and then deletes the Devin outpost. Use --yes for non-interactive operation. It retains the generated file and shared Modal Secret for deliberate cleanup or auditing.

Rotate the Devin service user key

Update the Modal Secret referenced by the generated application, then run:
Avoid putting the token in command arguments, checked-in files, or shell history.

Preserve resumability

Keep the deployment active while sessions may remain suspended. A resumed session uses its preserved filesystem when available; if that snapshot has expired, it starts from the current base image.

Troubleshoot failures

Match an observable symptom to its likely cause and corrective action.