> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ns.rocks/llms.txt
> Use this file to discover all available pages before exploring further.

# Access Overview

> Choose PTY, SSH, or retained-machine debugging for human inspection and control.

Access is for humans and operator tools that need to inspect or control a running
machine after creation. Keep networking docs for ports, preview URLs, tokens,
and WebSockets; use this section when the question is "how do I get into the
machine?"

Desktop environments are a build surface for browser, desktop app, and
visual-agent workflows. See [Desktop Environments](../desktop/overview) when
the question is "how does an agent use a GUI?"

## Choose An Access Surface

| Goal                                                            | Use                                                  |
| --------------------------------------------------------------- | ---------------------------------------------------- |
| Open an interactive terminal through the SDK, CLI, or WebSocket | [PTY sessions](./pty)                                |
| Connect a local OpenSSH client or an SSH-native tool            | [SSH access](./ssh)                                  |
| Inspect a failed retained agent or service machine              | [Debug retained machines](./debug-retained-machines) |

## Access And Lifecycle

Access surfaces attach to an existing machine. They do not replace the machine
lifecycle APIs:

1. Create or connect to a machine.
2. Use commands, files, volumes, templates, and preview URLs for normal
   application behavior.
3. Attach PTY or SSH when a person needs to inspect state,
   debug a failure, or operate an interactive tool.
4. Destroy disposable machines, or use retention, hibernate, auto-resume, and
   volumes when state must survive.

## Access From Agent Runs

Agent jobs and services expose backing machine IDs. Use normal machine access
commands to inspect retained runs:

```bash theme={"theme":{"light":"one-light","dark":"one-dark-pro"}}
nullspace agent machine repo-review-agent --run adrun_123
nullspace machine pty create mch_123 --cols 120 --rows 30
nullspace machine pty connect mch_123 --session-id ses_123
nullspace ssh mch_123
```

Use [Agent Deployments](../agents/deployments) when you want repeatable named
agent jobs and services. Use [Agent workspaces](../agents/overview) when you
want Codex, Claude Code, Amp, or OpenCode running inside a machine you control.
