# FUSE vs No-FUSE: Choosing the Right Mode KeibiDrop supports two file transfer modes. Both are fully encrypted and peer-to-peer. The difference is how you interact with shared files. ## FUSE Mode Files appear as a virtual folder on your filesystem (Finder on macOS, Explorer on Windows, your file manager on Linux). **How it works:** - KeibiDrop mounts a FUSE filesystem at the specified mount path - Remote files from your peer appear as regular files in that folder - You can open them in any application (Preview, VS Code, VLC, etc.) - Copy a file into the mount folder to share it with your peer - Changes sync in real time **Requirements:** - macOS: macFUSE (https://macfuse.io) - Windows: WinFsp (https://winfsp.dev) - Linux: fuse3 (usually available via package manager) **Start with FUSE:** ```bash # GUI export TO_MOUNT_PATH=./Mount TO_SAVE_PATH=./Save ./keibidrop-rust # Agent CLI KD_MOUNT_PATH=./mount KD_SAVE_PATH=./saved ./kd start ``` **Best for:** - AI agents (read/write files with standard file I/O, no special API) - Interactive workflows (open files directly in applications) - Browsing remote files before downloading - Any workflow where you want files to "just appear" ## No-FUSE Mode Files are shared and downloaded via explicit commands (add, list, pull) or drag-and-drop in the GUI. **How it works:** - `add ` shares a local file with your peer - `list` shows all files (local and remote) - `pull ` downloads a remote file to a local path - In the GUI: drag files in to share, click Save to download **Start without FUSE:** ```bash # GUI export NO_FUSE=1 TO_SAVE_PATH=./Save ./keibidrop-rust # Agent CLI KD_NO_FUSE=1 KD_SAVE_PATH=./received ./kd start ``` **Best for:** - Systems without FUSE drivers installed - Environments where FUSE is restricted (containers, sandboxed apps) - Simple one-directional file transfers - When you know exactly which files you need ## Comparison Table | Feature | FUSE | No-FUSE | |---|---|---| | File browsing | ls, Finder, Explorer | kd list / GUI list | | Reading files | cat, open in any app | kd pull then open | | Sharing files | cp into mount folder | kd add / drag-and-drop | | Real-time sync | Yes, automatic | Manual (add/pull) | | Requires drivers | Yes (macFUSE/WinFsp/fuse3) | No | | Agent-friendly | Very (standard file I/O) | Yes (JSON commands) | | Overhead | FUSE kernel calls | Direct TCP | ## Recommendation **For AI agents:** Use FUSE mode. After connecting, the `mount_path` from `kd status` is a live synced folder. Agents can use standard `ls`, `cat`, `cp` commands instead of learning the kd API. **For quick transfers:** Use no-FUSE mode. If you just need to send one file and receive one file, the add/pull commands are simpler than setting up FUSE. **For interactive use:** Use FUSE mode with the GUI. Files appear in your file manager and can be opened directly in any application. ## Related Pages - [KeibiDrop Overview](keibidrop.md) -- What it is and why - [Quickstart Guide](keibidrop-quickstart.md) -- Build and run in 5 minutes - [Agent CLI Guide](keibidrop-agent-guide.md) -- kd reference - [API Reference](keibidrop-api-reference.md) -- All commands and output - [WAW Index](index.md) -- All pages