STACIO WIKI · User Guide

Stacio Files Guide

Applicable version: Stacio 0.14.x
Updated: 2026-07-25
Audience: users who browse, transfer, edit, compare, back up, or restore remote files

1. Files capability overview

The Stacio Files workspace places local directories, remote directories, and the transfer queue in one window. According to the session protocol, it uses built-in SSH/SCP, SFTP, or FTP runtimes and does not depend on the system scp, sftp, or rsync command.

Session source Main capabilities Current limitation
Connected SSH terminal Browse, search, create, rename, delete, chmod, upload, download, Remote Edit, compare, back up, and restore Files is bound to the active SSH runtime; reconnect or rebind after terminal disconnect.
SCP session Similar to SSH Files; transfers use built-in SCP Requires valid SSH authentication and a confirmed host key.
SFTP session Browse, search, directory work, chmod, upload, download, and edit Server must enable the SFTP subsystem.
FTP session Browse, create, rename, delete, upload, download, and edit FTP is unencrypted; remote search, chmod, and two-file comparison are not currently available.

The File Sync advanced entitlement primarily controls batch Remote Edit entry points such as Sync Changed Edited Files. Ordinary browsing and transfers still depend on protocol, connection state, and remote permission.

Files does not parse a separate new remote address. It inherits the connection endpoint of an SSH terminal or an SFTP, FTP, or SCP session. When you create a file-protocol session directly, use an IP in most cases or a hostname where appropriate:

Session Host field Port field Displayed endpoint
SFTP/SCP 192.168.1.20 22 192.168.1.20:22
SFTP/SCP, custom port 192.168.1.20 2222 192.168.1.20:2222
FTP 10.0.0.15 21 10.0.0.15:21
Hostname session files.example.com Protocol-specific port files.example.com:port

Do not enter the complete 192.168.1.20:2222 into a saved session's Host field. A remote path field accepts only a path such as ~ or /srv/app, never an IP, hostname, or URL.

2. Open Files

2.1 Open from an SSH terminal

  1. Open and select an SSH tab that is connected successfully.
  2. Choose View > Files or click the Files toolbar control.
  3. Files binds to the current terminal and starts loading the remote home directory ~.
  4. When directory follow is enabled, Files attempts to enter the same directory after a successful terminal cd.

If Stacio says no SSH file context is available, confirm that the selected tab is an active SSH terminal rather than Local Shell, Telnet, VNC, Browser, a split container, or a disconnected tab.

2.2 Open a file-protocol session directly

Opening an SFTP, FTP, or SCP session from the left session list enters the file workspace directly. Connection still uses the respective authentication flow; SSH-family protocols also validate host keys.

2.3 Files and terminal binding

3. Know the file workspace

3.1 Local and remote columns

An independent file workspace normally includes:

You can drag a divider to adjust width. The UI saves some workspace widths but does not alter file contents.

3.2 Remote toolbar

Common controls include:

Lists can show name, type, size, modification time, owner, and permissions. Exact fields depend on protocol and server response.

4. Browse and locate

4.1 Path rules

Do not infer write permission from a visible path. Read, create, rename, delete, and chmod can each be limited by different remote permissions.

4.2 Hidden files

The hidden-files toolbar control temporarily shows or hides items beginning with .. The default for a new Files panel is controlled by Stacio > Settings > Files > Show Hidden Files by Default.

When showing .env, .ssh, .config, or similar files, avoid exposing sensitive content through screenshots, AI context, or screen sharing.

4.3 Remote search

  1. Click Search.
  2. Enter a filename keyword.
  3. Set search depth from 1 to 20; the default is 5.
  4. Open a result or reveal its directory.
  5. Close the search bar to return to the ordinary directory list.

Search starts at the current directory. Greater depth visits more directories and can increase server load and wait time. On production hosts, start shallow and avoid broad searches from /. FTP does not currently provide this remote-search entry point.

4.4 Terminal interaction

The context menu for a remote item can provide:

Sending to a terminal only writes text. It does not guarantee safe shell escaping or execute a command. Check quoting before submitting paths containing spaces, quotes, or shell metacharacters.

5. Upload and download

5.1 Upload files

  1. Enter the destination directory in the remote column.
  2. Open Upload and choose Upload File or Upload Folder.
  3. Select local items.
  4. Resolve an existing target using the conflict policy.
  5. Confirm job state and final bytes in the Transfers panel.

You can also drag files from Finder or the local-file column onto a remote directory. Dropping on a remote directory row uses that row as destination; dropping on empty list space uses the current directory.

5.2 Download files

  1. Select one or more remote files or directories.
  2. Click Download or choose Download from the context menu.
  3. Choose a save location for one file, or a destination folder for multiple items.
  4. Verify the result in the local-file column or Finder.

Remote items can also be dragged directly to a local directory. A completion notification does not prove content is correct; for important files, verify size, hash, or parseability.

5.3 Transfer conflicts

When a target path already exists, choose one of these policies:

Policy Behavior Appropriate case
Ask Every Time Prompt for every conflict Default and safest choice.
Keep Both Generate a non-conflicting name You do not know whether overwriting is safe.
Overwrite Replace target with transferred content Target and version are already verified.
Rename Choose or generate a name for the new copy Versions need explicit separation.
Skip Do not transfer conflicting items A batch job should add only missing files.

Set the default in Stacio > Settings > Files > Transfer Conflict Policy. Always overwriting reduces prompts and increases the impact of mistakes; production use should normally keep Ask Every Time.

6. Transfer queue

View > Transfers shows upload and download jobs with direction, file, progress, state, and diagnostics. Available controls depend on state:

When network or server does not support resume, Resume can still resend some or all content. Closing a session or the app stops jobs that depend on that runtime. Never treat queued or running as proof that a remote host received a complete file.

Completion requires at least:

  1. the job is marked complete;
  2. transferred bytes equal expected bytes;
  3. target file exists and its size is reasonable;
  4. configuration, archive, or data files receive targeted validation.

7. Remote file operations

7.1 Create, rename, and delete

Use More or a context menu to:

Rename input is the new remote path. Delete asks for confirmation, but remote deletion normally does not enter the macOS Trash and may not be recoverable. Confirm directory contents and host before deletion.

7.2 Properties and permissions

Choose Properties or Permissions from a context menu to view remote metadata. SSH, SCP, and SFTP sessions can use Change Remote Permissions and enter an octal chmod value, for example:

644
755
600

Understand file and directory read, write, and execute semantics before entering a value. Never use 777 merely to resolve a permission problem; first identify owner, group, service account, and minimum needed permission. FTP currently does not provide chmod.

8. Remote Edit

8.1 Edit in Stacio

  1. Select an editable text file.
  2. Choose Open in Stacio Editor from its context menu, or Edit Local Copy from More.
  3. Stacio downloads remote content to its managed cache and opens it in the built-in editor.
  4. Save changes and watch Saving, Saved, or Save Failed state.
  5. Read the remote file again or use a targeted application check to confirm the change took effect.

The editor supports multiple document tabs. Unsaved documents show a status marker, and closing the editor or workspace prompts to save, discard, or cancel closing.

8.2 Use an external app

From a context menu, choose:

An external app edits local cache only. When Settings > Files > Detect Local Edit Copy Changes is enabled, Files detects a change and offers to synchronize it through the transfer queue; it never overwrites a remote file silently.

8.3 Save and remote conflict

On save, Stacio attempts to check the remote modification time. If another person or process changed the remote file after it was opened, Stacio blocks a direct overwrite and reports that the remote file changed.

When this happens:

  1. retain the current local copy;
  2. download the latest remote version again;
  3. compare differences;
  4. merge manually;
  5. save a backup copy, then upload.

Do not click Save repeatedly to bypass a remote-change warning.

8.4 Sync changed edited files

Sync Changed Edited Files in More scans Remote Edit cache for the current session and queues detected local changes for upload. This entry point is controlled by the File Sync License.

Before batch sync, verify every file, host, and environment. Entry-point completion only means jobs entered the queue; inspect every upload result in Transfers.

9. Preview, open, and compare

Opening or previewing a large file creates local cache and transfer delay. Do not pass customer data or key material to a local application without authorization.

10. Backup and restore

10.1 Back up edited files

When the built-in editor is open, the inspector header shows Back Up Current Edited Files:

  1. Click the backup control.

  2. Select one or more currently open files.

  3. Choose remote same-directory backup or local download.

  4. Stacio creates a copy with this name:

    original-file-name-yyyyMMddHHmm.bak
  5. Verify that the backup exists, has a reasonable size, and can be read.

Remote backup copies the current remote file; local backup downloads through the transfer queue. Seeing a backup job is not proof that the backup can be restored.

10.2 Restore a backup

Use Restore Backup File in the inspector header and choose either:

Restore removes the timestamp and .bak suffix and writes back to the original name. If the target already exists, follow the conflict policy and change workflow. After restore, read the file again and run syntax, service-health, or business validation.

11. Files settings and cache

Stacio > Settings > Files can configure:

Setting Effect
Follow Directory by Default Whether a new Files panel follows terminal cd.
Show Hidden Files by Default Whether a new panel shows dotfiles.
Detect Local Edit Copy Changes Whether external-editor changes to local copies are detected.
Transfer Conflict Policy Default behavior when a new transfer meets a same-name target.
Show Transfer Queue by Default Whether a new workspace opens the queue immediately.
Clear Cache Removes Stacio-managed Remote Edit and temporary remote-file cache.

Before clearing cache, check the count of unsaved remote edits. Cache cleanup does not delete real download folders, session database, or credentials, but it makes unsynchronized local edit copies unrecoverable.

12. Security and change guidance

See Security and Governance for broader controls and Remote Operations for change validation.

13. Common questions

Symptom Check and handle
Directory does not load Connection state, path, remote permission, SFTP subsystem, or FTP service.
Connected to the wrong file server Separate Host and Port fields, account, and environment; do not rely only on a session name.
Directory response cannot be parsed Target compatibility and path safety; refresh, then inspect application logs if it persists.
Search button is disabled FTP does not support remote search; for other protocols, check the connection context.
Upload/download authentication fails Recheck session credentials, key passphrase, and SSH agent.
Host key changed Stop work and verify through an independent channel; do not overwrite trust directly.
Local or remote disk is full Check capacity and inodes for the target volume and obtain approval before cleanup.
Save reports remote file changed Keep local copy, download again, compare, and merge manually.
Compare is unavailable Select exactly two files and confirm Xcode/FileMerge is installed; FTP is unsupported.
chmod has no effect FTP is unsupported; for SSH/SFTP, inspect owner and permissions.
Sync is disabled Check File Sync entitlement in Help > License.
Cache cleanup warns about unsaved edits Sync, export, or back up the local copies before clearing.

When reporting a problem, include Stacio version, protocol, direction of operation, redacted source and destination paths, job time, queue state, and error information. Do not attach credentials or sensitive file contents.

This page is part of the English Stacio Wiki.