Completing a task baseline¶
Thanks for helping out! You've been asked to solve one task by hand inside a sandboxed Linux machine we provision for you. We record your session, timing, and final answer.
You'll need an SSH client and an IDE that can edit files over SSH — VS Code with
the Remote - SSH
extension is the easiest, but anything that speaks SSH works. If your task has no
network access, the IDE's usual one-click setup will fail, because it expects the
sandbox to download its remote server and the sandbox has no internet. You can
still use the IDE by sending that server over your SSH connection instead — in
VS Code, set remote.SSH.localServerDownload to always; with JetBrains Gateway,
copy the backend in and register it — or just work from a plain terminal.
In short: you send us an SSH public key, we send you back a connection command, and you connect and solve the task. The steps below walk through each part.
1. Create and send an SSH key¶
You need an SSH key pair: a private key you keep, and a public key you send us. On macOS or Linux, open a terminal and run:
Press Enter when it asks for a passphrase (or set one — your choice). This creates two files:
~/.ssh/id_hawk— your private key. Keep it secret; never send it to anyone.~/.ssh/id_hawk.pub— your public key. This is the one you send us.
Print the public key and send us the entire line (it's safe to share):
It looks like ssh-ed25519 AAAAC3Nz...your-name. Copy the whole thing into your
reply to us.
Already have an SSH key you use elsewhere (e.g.
~/.ssh/id_ed25519.pub)? You can send us that public key instead and skip creating a new one. Just use that key's path everywhere this guide says~/.ssh/id_hawk.
2. We send you a connection command¶
Once your key is registered we'll start the task and send you back a command that looks like this:
(The exact hostnames, IP, and port will differ.) That single command connects you through a gateway machine straight into your task sandbox.
3. Connect¶
First load your private key so SSH can use it, then run the command we sent you:
On the very first connection SSH may ask
Are you sure you want to continue connecting (yes/no)? — type yes. That's
expected.
To edit files in an IDE: point VS Code's Remote - SSH at the same connection. Open the Command Palette → Remote-SSH: Connect to Host… → Add New SSH Host…, and paste the exact command we sent you. VS Code then opens a window running inside the sandbox where you can browse and edit files normally.
If you get disconnected, just run the same ssh ... command again to reconnect —
you can do this any time until you submit.
4. Start a tmux session (if available)¶
A dropped SSH connection normally kills your shell and anything running in it.
tmux keeps your session alive on the sandbox so a disconnect doesn't lose your
work. Many task images don't include tmux — check with which tmux, and if
it's there, start it:
Do all your work inside this session. If you get disconnected, reconnect with the
same ssh ... command and reattach:
You'll be right back where you left off, with everything still running. (No
tmux? Skip this step — a plain SSH session works fine.)
5. Solve the task¶
When you log in, the machine prints the task instructions (also saved to
~/instructions.txt) and starts a timer. You're dropped into the working
directory where you should do the task. Work in the shell exactly as you normally
would.
A task command is available for interacting with the baseline:
| Command | What it does |
|---|---|
task instructions |
Reprint the task instructions and this command list. |
task status |
Show whether the timer is running/paused and how much time has elapsed. |
task pause / task resume |
Pause the timer for a break, then resume to keep working. |
task note [message] |
Record a note in the transcript (opens an editor if you don't pass a message). |
task submit [answer] |
Submit your final answer and end the task. |
task quit |
End the task without submitting an answer. |
Things to know:
- Take breaks with
task pause— it stops the timer. Runtask resumebefore you start working again. The timer must be running to submit. task submitends everything. It asks for confirmation, then disconnects you permanently — you can't reconnect afterward. Only run it when you're truly done.- Some tasks require your answer in a specific format. If
task submitrejects your answer, re-readtask instructions. If the task doesn't ask for a particular answer, a baretask submitis fine.
That's it — once you submit, you're done. You can close the terminal.
Troubleshooting¶
Permission denied (publickey)— your private key isn't loaded. Runssh-add ~/.ssh/id_hawkand try again. If it still fails, the key you sent us may not match the one you're connecting with — let us know and we'll re-check.REMOTE HOST IDENTIFICATION HAS CHANGED— harmless here; it happens because sandbox addresses get reused. The error message names the offending entry (e.g.10.0.0.5:2222). Remove it and reconnect:
- No Remote-SSH: Connect to Host… option in VS Code — the Remote - SSH extension isn't installed yet (it doesn't ship with VS Code by default). Install it from the Extensions panel (search "Remote - SSH" by Microsoft) or from the marketplace page, then reload VS Code and the command will appear in the Command Palette.
task: command not found— try logging out and back in, or runsource ~/.bashrc. If it persists, let us know.- The connection command doesn't work / times out — the sandbox may still be starting up. Wait a minute and try again; if it keeps failing, tell us and we'll check on our end.
If anything else goes wrong, just reach out — most issues are on our side and quick to fix.