Skip to content

Connections and profiles

The Connect dialog opens both remote sessions and remote filesystems mounted in one pane. This page covers the dialog, saved profiles, Quick Connect, and the options of each transport.

Press Mod + Shift + R, then select a transport and target. Open as a new session opens the target as a complete session in a new window; turned off, it mounts the target’s filesystem in the active pane instead. It starts on from a local session and off inside a remote session, which suits connecting from a server to one of its containers or pods. Remote… in the filesystem selector opens the same dialog with it turned off.

Beside the form, a list of discovered targets fills it in when you click one:

  • SSH: the host aliases in ~/.ssh/config. Wildcard patterns are skipped, and Include files are not read.
  • Docker and Podman: the containers that can be entered, running ones first.
  • Kubernetes: the contexts, and the pods of the chosen context and namespace, or of every namespace when the namespace is empty.

Discovery tools are found through PATH and environment.extra_path; if one fails, the error is shown in place of the list.

For a session, the dialog also offers Allow access to this host; see Access to this host.

Connect uses the current form without saving it. Save (Mod + S) stores a profile without connecting: the first press reveals a suggested profile name, and saving again, or pressing Enter in the name field, stores it. The dialog stays open so you can save and then connect.

Connection profiles live in connections.toml inside Newt’s platform-specific configuration directory and are managed through the Connect and Mount dialogs and Quick Connect. WSL distributions are discovered from Windows and are not saved as profiles.

Profiles can store SSH targets, Docker and Podman containers, Kubernetes pods, custom commands, S3 mounts, and SFTP mounts. A profile also remembers whether it opens in a window or a pane and, for a session, its own Allow access to this host choice.

Secrets are not written to this file. The only secrets Newt stores are the access keys of S3 profiles that use IAM-user keys, which go to the operating system’s credential store (macOS Keychain, Windows Credential Manager, or the Secret Service on Linux) and are removed when the profile is deleted.

Saving from a profile’s dialog updates that profile, even if you rename it. Connecting from an edited form is a one-off and does not modify the profile.

Press Ctrl + R to open Quick Connect. It combines saved profiles with recently used ad-hoc connections. Start typing to filter by name or details such as host, bucket, container, or pod, use the arrow keys to choose a target, and press Enter to connect. Each entry opens in a window or a pane as it did before.

Press F4, or select the pencil, to edit an entry before connecting; this is also how a recent connection becomes a saved profile. Press Delete to remove a profile or forget a recent connection, then confirm with Enter or Y.

S3, SFTP, and pane-mounted connections connect through their dialog, so progress and errors stay visible and a failed connection can be edited and retried. Recent S3 connections never retain access keys, so an IAM-user recent asks you to enter them again; a saved profile reads them from the credential store.

SSH connections use your system SSH client. Host aliases, keys, proxy jumps, agents, and other options in ~/.ssh/config continue to apply.

SSH sessions use the target account’s login environment, so commands, terminals, and target discovery see the same paths you would normally get after logging in.

Choose a running container and, optionally, a user. The default mode works in images without a shell. A bootstrap mode is available when you would rather keep a cached agent inside the container.

Choose a context, namespace, pod, and optional container. Newt uses kubectl exec; kubectl must be installed and configured in the environment from which the connection is made.

A custom connection runs a command through the platform shell: sh -c on macOS and Linux, and the COMSPEC shell (normally cmd.exe) on Windows. Use $NEWT_BOOTSTRAP in the command where the target should receive Newt’s bootstrap script. This can cover tools such as nsenter, sandbox launchers, or an SSH invocation with unusual routing.

If your command starts the Newt agent itself, turn on Skip bootstrap so Newt talks to the agent over the command’s standard input and output directly. On the command line, this is the custom-raw: target.