Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>Go Touch GrassNew to Visual Studio Code? Get it now.
Go Touch Grass

Go Touch Grass

lexcoder

|
1 install
| (0) | Free
Periodic reminders to take a break and touch grass. Streak tracking, ASCII art scenes, and social sharing — right inside VS Code / Cursor.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Go Touch Grass

Go Touch Grass

Your editor knows you haven't moved in 3 hours. So do we.

GitHub npm VS Code License


A fun, streak-tracking, ASCII-art-powered reminder to step away from your screen and go touch some actual grass. Born as a CLI — npx go-touch-grass — now living rent-free inside VS Code and Cursor.


✨ What it does

🌿 Status bar streak counter
start to touch 🌿 → 🌿 1 day streak → 🌿 7 day streak.
Hover for a tooltip with your full stats and quick-action links. Click to open the panel.
🖼️ Compact side panel
Opens beside your code without stealing focus. Shows a random ASCII art scene (meadow, park, or mountain), a fun developer wellness message, and your streak data — all instantly, no slow reveals.
⏱️ Configurable outdoor timer
Pick your duration right in the panel: 5m · 10m · 15m · 20m · 30m or any custom value. The selection is saved globally so it sticks across sessions.
🔔 Periodic reminders
A notification appears every N minutes (default 60, configurable) with a random message and a one-click "Touch Grass Now" button.
📊 Persistent streak tracking
Daily streak · longest streak ever · total touches · last date. Stored in VS Code global state — survives restarts, syncs with Settings Sync.
📢 Social sharing
Share to Twitter / X or LinkedIn in one click. Instagram copies the caption to your clipboard. 14 unique post templates that use your real streak numbers.

🚀 Commands

Open the Command Palette (Ctrl+Shift+P / Cmd+Shift+P) and type Touch Grass:

Command What it does
Touch Grass: Go Outside Now Opens the panel, increments your streak
Touch Grass: Show Streak Stats Shows a stats notification with panel / share shortcuts
Touch Grass: Share Achievement Platform picker → opens share URL or copies to clipboard
Touch Grass: Reset Streak Wipes streak data (requires confirmation)

⚙️ Settings

Setting Default Description
touchGrass.enableReminders true Toggle periodic reminders on / off
touchGrass.reminderIntervalMinutes 60 Minutes between reminders (min 5)
touchGrass.outdoorMinutes 10 Default outdoor timer duration (1–120 min)
// .vscode/settings.json
{
  "touchGrass.enableReminders": true,
  "touchGrass.reminderIntervalMinutes": 45,
  "touchGrass.outdoorMinutes": 10,
}

Duration can also be changed live from the panel — no settings file needed.


🌿 ASCII art scenes

  v        v           v        .  *       .    *       .    *    .  *
                                        /\
        \   .   /      *               /  \      .    *
     *   \ _ /     *                  / go \  .          *
         /| |\           .           /      \       .      *
        / | | \    *                /outside!\          .    *
      /   | |   \      .    *      /___________\   .    *
    /_____|_|_____\       .   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
 |||||||||||||||||||||||||||||||||||||||||||||||||

31 fun messages. 3 scenes. Zero mercy.


📦 Install

From the VS Code Marketplace: Search Go Touch Grass in the Extensions view or run:

ext install lexCoder.gotouchgrass

From a .vsix file:

code --install-extension go-touch-grass-*.vsix

🌱 Also available as a CLI

npm npm downloads

Prefer the terminal? The same art, messages, and streak tracking are available as a zero-install CLI:

npx go-touch-grass

Supports --streak, --share, --noTimer, --noShare, and --time <minutes> flags. See the CLI README for full details.


🤝 Contributing

Issues and PRs welcome at github.com/lexCoder2/touch-grass-js.

Got a terminal ASCII art scene or a fun developer phrase? We want it.

  • 🎨 New scenes → src/art.js — plain string arrays, one per line, ~80 cols wide
  • 💬 New messages → src/messages.js — keep it under ~100 chars, keep it fun

Open a PR on GitHub — no setup required beyond node >= 20.


GPL-3.0 License · Made with too much screen time and not enough grass

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft