Skip to content
| Marketplace
Sign in
Visual Studio Code>Education>Between TrainsNew to Visual Studio Code? Get it now.
Between Trains

Between Trains

Okan Yenigün

|
3 installs
| (0) | Free
A waiting room for agentic development — turn agent-working intervals into short moments for learning, play, or calm.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Between Trains

Between Trains

A waiting room for agentic development.

Turn the wait while your AI agent works into a short moment for play, calm, or learning — then it's gone the instant you start typing again.

The Between Trains waiting room, open beside your code


You prompt, the agent works, you wait, you review, you steer — repeat. That "agent working" wait is too short and fragmented for real work, yet it repeats all day long. Between Trains claims that gap: something useful, restful, or fun in twenty seconds, and out of your way the moment you're back at the keyboard.

The name is the metaphor — you're standing on a platform between two passing trains. You're not starting a journey; you're just waiting for the next one.

Everything runs locally on your machine. No telemetry, no cloud, no accounts.

What's inside

Pick a mode from the top bar; each is built to satisfy in a few seconds and never nag.

Ambient Zen — Rain on Window
🌧️ Ambient Zen
Rain-on-glass and a slow breathing orb, with optional ambient sound synthesized live — no files, no network.
Media — Memes & GIFs
🖼️ Media
Curated memes, GIFs, and videos in a swipe deck — keep or skip, and it learns your taste. Saved locally.
Learning Cards — a Python concept card
🧠 Learning Cards
Bite-sized concept cards on any topic you choose. Rate what you knew; the next batch focuses on what you didn't.
  • 🎮 Micro-Games — dodge-and-shoot Meteor Dodge and flick-shot Tiny Basketball, with persistent high scores (shown above).
  • 🧘 Physical Break — one small, optional reset at a time: neck, wrist, breathing, eye rest, posture. Gentle, no timer, no guilt.
  • 📰 News — quick cards across Technology, World, Business, and Science.

How it works

  • Start it: run “Between Trains: Start Waiting Room” from the Command Palette, or press Ctrl+Q to toggle it (remappable).
  • It opens as a tab next to your code, without stealing focus.
  • Switch modes from the top bar; close the tab, or hit Ctrl+Q, to get back to work.

Local-first & private

Between Trains never sends your code or prompts anywhere. Content libraries and usage stats live on your machine in the extension's private storage; you can inspect, export, or clear them anytime. There is no telemetry and no account.

The AI is optional

Content curation and card generation run on a local Ollama model — nothing leaves your machine. Memes, videos, and news fall back to a deterministic fetcher when Ollama is off, so they keep working; Learning Cards need Ollama running with a model installed. Leave the model setting blank and the first installed model is used automatically.

Requirements

  • VS Code ^1.101.0
  • (Optional) A running Ollama server with a model pulled (ollama pull llama3.2) — improves curation and powers Learning Cards. Games, ambient, and physical modes need nothing.
  • (Optional) A news-search API key (Tavily, Brave, or Serper) for the News mode, entered via a secure prompt and stored only in VS Code SecretStorage.

Commands

Command ID
Between Trains: Start Waiting Room betweenTrains.startManualSession
Between Trains: Stop Waiting Room betweenTrains.stopSession
Between Trains: Open Waiting Room betweenTrains.openWaitingRoom
Between Trains: Toggle Waiting Room betweenTrains.toggleWaitingRoom
Between Trains: Select Mode betweenTrains.selectMode
Between Trains: Open Settings betweenTrains.openSettings
Between Trains: Test Ollama Connection betweenTrains.testOllamaConnection
Between Trains: Fetch New Memes betweenTrains.fetchMemes
Between Trains: Fetch New Videos betweenTrains.fetchVideos
Between Trains: Set News Search API Key betweenTrains.setNewsApiKey
Between Trains: Show Local Metadata Location betweenTrains.showLocalMetadata
Between Trains: Export Local Metadata betweenTrains.exportLocalMetadata
Between Trains: Clear Session History betweenTrains.clearSessionHistory
Between Trains: Reset Personalization betweenTrains.resetPersonalization
Between Trains: Clear Generated Content Cache betweenTrains.clearGeneratedContentCache
Between Trains: Clear All Local Metadata betweenTrains.clearLocalMetadata

Settings

All settings (click to expand)
Setting Default Description
betweenTrains.enabled true Master on/off switch.
betweenTrains.autoOpen.enabled false Auto-open the waiting room when an agent is detected. Off by default; the MVP is manual-first.
betweenTrains.defaultMode lastUsed Which mode opens with a session.
betweenTrains.brain.enabled true Use the local Ollama brain to curate content and generate learning cards (off = deterministic fallback; learning cards need the brain).
betweenTrains.brain.provider ollama LLM backend for the brain. Editable from the panel's Global config.
betweenTrains.brain.workspaceContext.enabled false Allow small, safe workspace hints (e.g. active language). Never sends source.
betweenTrains.ollama.baseUrl http://localhost:11434 Local Ollama server.
betweenTrains.ollama.model "" Model to use. Blank = auto-select the first installed model; set a name to pin one.
betweenTrains.ollama.timeoutMs 30000 Timeout before falling back.
betweenTrains.memes.autoFetch false Automatically fetch new memes/GIFs on entering the mode.
betweenTrains.memes.fetchCount 20 How many new memes to fetch per run.
betweenTrains.videos.autoFetch false Automatically fetch new videos on entering the mode.
betweenTrains.videos.fetchCount 15 How many new videos to fetch per run.
betweenTrains.news.provider tavily News search provider (tavily, brave, or serper). Needs an API key.
betweenTrains.news.autoFetch false Automatically fetch news on entering the mode.
betweenTrains.news.fetchCount 10 How many news cards to fetch per run.
betweenTrains.learning.autoFetch false Automatically generate learning cards when the deck runs low.
betweenTrains.learning.cardCount 8 How many learning cards to generate per run.
betweenTrains.autoFetch.cooldownMinutes 30 Minimum minutes between automatic fetches per stream.
betweenTrains.metadata.enabled true Store local personalization metadata on this machine.
betweenTrains.metadata.retentionDays 30 Days of raw session history to keep.

Privacy

Between Trains is local-first. No workspace content leaves your machine unless you explicitly enable a networked feature. The Ollama integration talks to a local server by default, and there is no telemetry.

Session metadata is stored on your machine in VS Code's per-extension global storage as append-only JSONL traces plus aggregate stats — interaction patterns only (session start/end, chosen mode, durations), never source code or prompts. Show Local Metadata Location opens the folder, Export Local Metadata saves it to JSON, and the various Clear commands remove it (all at once, or per category). Set betweenTrains.metadata.enabled to false to stop all metadata writing.

License

MIT

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft