Skip to main content
Fork is Nullspace’s main differentiator for agent and evaluator workflows. Do expensive setup once, fork the machine, then let each branch mutate files, processes, and services independently.

Branch warm state

from nullspace import Machine

parent = Machine.create(template="base")
parent.files.write("/workspace/state.txt", "common\n")

child = parent.fork()
parent.files.write("/workspace/state.txt", "parent\n")
child.files.write("/workspace/state.txt", "child\n")

print(parent.files.read("/workspace/state.txt").strip())
print(child.files.read("/workspace/state.txt").strip())

child.kill()
parent.kill()

Use cases

  • Fan out prompt, patch, or evaluator variants from one prepared repo.
  • Test destructive changes in a child without touching the parent.
  • Keep a warm parent while retrying independent plans in children.

Behavior

Parent and child each receive their own machine ID and routing credentials. Shared volumes are remounted in the child; the external volume data is shared according to volume mount permissions.