Manual
Command Line Options
Commands match the groups shown in tiles help: Getting Started, Accounts, Sync, and System.
Getting Started
Main command (tiles)
Launches onboarding (first run) and the interactive chat.
tiles # Onboarding (if needed) and interactive chatRun models (tiles run)
Run a Modelfile (uses the default model if none is provided).
tiles run [MODELFILE_PATH] # Default model if path omittedThe same optional flags below also apply when you run tiles without a subcommand.
tiles run
tiles run ./path/to/ModelfileOptional tuning flags:
tiles run --context-length 8192
tiles run --gpu-layers 32
tiles run --offload-kqv
tiles run --offload-kqv false
tiles run --batch-size 512--context-length <CONTEXT_LENGTH>: Context window for local inference.
--gpu-layers <GPU_LAYERS>: Number of model layers to offload to the GPU.
--offload-kqv [<OFFLOAD_KQV>]: Offload K/Q/V attention operations (true or false).
--batch-size <BATCH_SIZE>: Prompt processing batch size.
Values you set on the command line are persisted in config.toml and apply on later runs.
Create a new Modelfile by adding a plain text file named Modelfile:
FROM mlx-community/Qwen3.5-4B-MLX-4bit
SYSTEM You are Mario from Super Mario Bros, acting as an assistant.Use any mlx-community/ model (macOS) or GGUF model (Linux) hosted on Hugging Face in the FROM field. We are working on adding more model path sources in FROM, including local paths. Learn more in the Tilekit Modelfile reference.
Help (tiles help)
Show the top-level help menu or help for a specific command.
tiles help
tiles help run
tiles help linkAccounts
Account (tiles account)
Manage your user account: root identity and display nickname.
tiles account create [<nickname>] # Create root identity (nickname optional)
tiles account set-nickname <nickname> # Set nickname
tiles account # Show account detailstiles account create alice
tiles account set-nickname alice
tiles accountATProto (tiles at)
ATProto-related commands. ATProto is currently used to share chat sessions.
tiles at login <handle>: log in with your ATProto handle (for example,alice.bsky.social) via browser OAuth.tiles at logout: log out of the current ATProto account.
tiles at login alice.bsky.social
tiles at logoutAuthentication currently uses a localhost callback (127.0.0.1:8988), and session state is stored locally in the Tiles database.
Data (tiles data)
Configure your data and storage paths.
tiles data set-path <path> # Set data foldertiles data set-path ~/.tiles/dataSync
Link devices (tiles link)
Link devices via peer-to-peer. Tiles can sync chats across multiple linked devices, with or without the internet. Linking is a one-time step so both sides consent before any sync traffic is accepted; you do not need to re-link each time you sync.
Online and offline linking use the same commands. Iroh handles transport in both cases. On the same local network without internet, devices discover each other over mDNS. Both modes require the peer DID.
On the first device:
$ tiles link create did:key:z6Mknxy...YWSmTcZAThe command prints a token in the terminal. Share it out of band with the peer you want to link.
On the other device:
tiles link add <token>The token format depends on how the devices connect:
- Online: a UCAN token (for example,
ucan:eyJ...YzQ). - Offline (same network, mDNS discovery via Iroh): an eight-character alphanumeric code.
tiles link create <PEER_DID>: Creates an authorization token for linking with the peer DID. Online linking returns a UCAN token; offline linking on the same local network (mDNS via Iroh) returns an eight-character alphanumeric code.
tiles link add <token>: Completes linking with the token from the first device’s output.
tiles link list-peers: Lists linked peers by DID (decentralized identifier) and nickname.
tiles link list-peerstiles link revoke <DID>: Unlinks a peer. Future sync requests from that peer are ignored.
tiles link revoke <DID> # Unlink a peer; ignore their future sync requestsSync chats (tiles sync)
Sync chats with peers.
tiles sync [DID]: Pass a linked peer DID to sync with that peer. Omit DID to listen for incoming sync requests.
Once linked, run on either device when online:
tiles sync did:key:z6Mknxy...YWSmTcZAOffline (same network): on the device that will receive the sync, start the listener first:
tiles syncOn the other device, run toward the listener’s DID:
tiles sync did:key:z6Mknxy...YWSmTcZAWhen a sync run finishes, you should get a notification on the devices involved.
System
App updates (tiles update)
Update Tiles to the latest version.
tiles update # Check for and install app updatesHealth (tiles health)
Check the status of dependencies.
tiles healthInference server (tiles server)
Configure the inference server.
tiles server start # Start the inference
tiles server stop # Stop the inference
tiles server daemon true # Keep inference running after the REPL exits
tiles server daemon false # Stop inference when the REPL exits (default)tiles server daemon [FLAG] configures whether inference runs in the background. FLAG is true or false. When true, closing the REPL does not stop inference. The setting is stored under [inference] daemon in config.toml.
Daemon (tiles daemon)
Configure daemon behavior.
tiles daemon start # Start the daemon (auto-starts when you run `tiles`)
tiles daemon start 1729 # Start the daemon on a custom port
tiles daemon stop # Stop the daemonSlash commands
Slash commands give you fast, keyboard-first control over Tiles in interactive chat. Type /? or /help in the prompt to open available commands and quickly run actions like checking session state, resuming prior sessions, and sharing chats without leaving the terminal. Use /bye to exit the chat session.
Session Commands
/status
Show the current session state.
/sessions
List available sessions in local storage.
/resume <sessionId>
Resume a specific session by ID.
Sharing Commands
These commands require an active ATProto login. See ATProto (tiles at).
/share (via ATProto)
Create a shareable link for the current session.
/share <sessionId> (via ATProto)
Create a shareable link for a specific session.
Example shared session link: tiles.run/share/YXQ6Ly9k…ZTJr.
Uninstall Tiles (macOS)
By default, uninstalling Tiles removes only binaries and shared payloads under /usr/local. User data files under ~/.local/share/tiles (or a custom [data] path in config.toml) are not deleted, so chats, memory, databases, and logs remain for a later reinstall. Wipe that data only when you want a clean slate.
Read the full step-by-step procedure in the Tiles uninstaller skill, including optional receipt and keychain cleanup. With coding agents (for example Claude Code or Codex), share that URL in your prompt and ask the agent to follow it, adapting paths that differ on your machine.
We are actively working on an official Tiles uninstaller.
