Skip to main content
This feature is experimental.
Fresh supports editing files on remote machines via SSH using the user@host:path syntax. This is useful for editing files on servers without needing to install Fresh remotely.

Quick Start

fresh [email protected]:/etc/nginx/nginx.conf

Features

Authentication

Password and SSH key authentication supported

File Explorer

File explorer shows remote directory structure

Sudo Save

Save protected files with sudo support

Status Indicator

Status bar shows [SSH:user@host] indicator

Requirements

1

SSH Access

You need SSH access to the remote host
2

Python 3

Python 3 must be installed on the remote host (for the agent)

SSH Syntax Examples

# Edit a configuration file
fresh admin@webserver:/etc/apache2/apache2.conf

# Edit a log file at a specific line
fresh [email protected]:/var/log/application.log:250

# Open user's home directory
fresh user@host:~/projects

# Edit files requiring sudo (Fresh will prompt for sudo password when saving)
fresh root@server:/etc/systemd/system/myservice.service

How It Works

1

Connection

Fresh establishes an SSH connection to the remote host using your SSH credentials
2

Agent Transfer

A lightweight Python agent is transferred to the remote host
3

File Operations

The agent handles file reading, writing, and directory browsing
4

Local Editing

You edit files locally in Fresh with all features available (LSP, syntax highlighting, etc.)
5

Synchronization

Changes are automatically synced back to the remote host when you save
The remote agent is temporary and doesn’t require installation. It’s transferred on-demand and runs only during your editing session.

Alternative: SSH + Session Persistence

If you need a persistent editing session that survives connection drops, consider running Fresh directly on the remote host with Session Persistence:
ssh user@host
fresh -a        # start a persistent session on the remote host
# if SSH disconnects, just reconnect and reattach:
ssh user@host
fresh -a

SSH + tmux

You can also pair SSH with tmux for a similar effect—run tmux on the remote host and launch Fresh inside it.
Session persistence has the advantage of being built into Fresh, so editor state (open files, terminals, undo history) is preserved without an external multiplexer.

Comparison: Remote Editing vs SSH Session

FeatureRemote Editing (user@host:path)SSH + Session Persistence
InstallationNo installation on remoteFresh must be installed remotely
LSP SupportRuns locallyRuns on remote host
LatencyHigher (file transfers over SSH)Lower (local to remote host)
PersistenceNo session persistenceFull session persistence
Network DropConnection lostCan reattach to session
Use CaseQuick edits, single filesLong-running development sessions
Choose remote editing for quick configuration changes or log inspection. Choose SSH + session persistence for full development workflows on remote machines.

Build docs developers (and LLMs) love