---
name: Reddit CLI
slug: reddit-cli
category: Automation
description: Reddit CLI browses Reddit from the terminal and can read feeds, subreddits, searches, posts, comments, and user profiles. It also supports login-based actions like voting, commenting, posting, saving, and managing subscriptions.
github: "https://github.com/ItamarZand88/CLI-Anything-WEB/tree/main/.claude/skills/reddit-cli"
language: Python
stars: 215
forks: 45
install: "npx degit https://github.com/ItamarZand88/CLI-Anything-WEB/tree/main/.claude/skills/reddit-cli ~/.claude/skills/reddit-cli"
installs_to: ~/.claude/skills/reddit-cli
source_path: .claude/skills/reddit-cli/SKILL.md
collection_size: 25
category_size: 1860
collection_url: "https://dirskills.com/collections/ItamarZand88/CLI-Anything-WEB"
added: 2026-09-04T05:25:49.578Z
last_synced: 2026-09-04T05:25:49.578Z
canonical_url: "https://dirskills.com/skills/reddit-cli"
---

# Reddit CLI

Reddit CLI browses Reddit from the terminal and can read feeds, subreddits, searches, posts, comments, and user profiles. It also supports login-based actions like voting, commenting, posting, saving, and managing subscriptions.

**Install:**

```bash
npx degit https://github.com/ItamarZand88/CLI-Anything-WEB/tree/main/.claude/skills/reddit-cli ~/.claude/skills/reddit-cli
```

## README

# cli-web-reddit

Browse Reddit without auth; vote, comment, submit, and manage subscriptions after `auth login`.
Install: `pip install cli-web-reddit`, then `playwright install chromium`.

## Commands

Read (no auth):

| Command | Purpose | Key options |
|---------|---------|-------------|
| `feed hot\|new\|top\|rising\|popular` | Front-page feeds | `--limit N` (max 100), `--after CURSOR`; `top` adds `--time hour\|day\|week\|month\|year\|all` |
| `sub hot\|new\|top NAME` | Subreddit posts | same as feed |
| `sub info NAME` / `sub rules NAME` | Subreddit metadata | |
| `sub search NAME QUERY` | Search within a subreddit | `--sort relevance\|hot\|top\|new\|comments`, `--limit`, `--after` |
| `search posts QUERY` | Search all of Reddit | `--sort`, `--time`, `--limit`, `--after` |
| `search subs QUERY` | Find subreddits | `--limit`, `--after` |
| `post get URL_OR_ID` | Post + full comment tree (expands nested threads) | `--sub NAME` (required with bare ID), `--comments N` |
| `user info\|posts\|comments USERNAME` | User profiles and activity | `--sort hot\|new\|top\|controversial`, `--time`, `--limit` |

Write (requires login). THING_ID is a fullname: `t3_xxx` (post) or `t1_xxx` (comment):

| Command | Purpose |
|---------|---------|
| `vote up\|down\|unvote THING_ID` | Vote |
| `comment add THING_ID TEXT` / `comment edit` / `comment delete` | Comment, reply, edit, delete |
| `submit text SUB TITLE BODY [--flair ID]` / `submit link SUB TITLE URL [--flair ID]` | Submit posts; `submit flairs SUB` lists flair IDs first |
| `saved save\|unsave THING_ID` | Save items |
| `sub join\|leave NAME` | Manage subscriptions |
| `me profile\|saved\|upvoted\|subscriptions\|inbox` | Your account (`--limit`, `--after` on lists) |

## Examples

```bash
# Top posts this week in r/python
cli-web-reddit sub top python --time week --limit 10 --json | jq '.posts[] | {title, score, url}'

# Search posts, then read one with comments
cli-web-reddit search posts "fastapi tutorial" --limit 3 --json
cli-web-reddit post get https://www.reddit.com/r/python/comments/abc123/my_post/ --json

# Submit a flaired text post (get flair IDs first)
cli-web-reddit submit flairs ClaudeCode --json
cli-web-reddit submit text ClaudeCode "My Title" "Body here" --flair abc123 --json

# Upvote a post
cli-web-reddit vote up t3_abc123 --json
```

## JSON output

Every command accepts `--json`. List reads return `{"posts": [...], "after": "cursor"}` (pass `after` back via `--after` to paginate); writes return `{"success": true, ...}`. Errors return `{"error": true, "code": "...", "message": "..."}`.

## Auth

```bash
cli-web-reddit auth login      # opens a Playwright browser, extracts the token_v2 cookie
cli-web-reddit auth status --json
cli-web-reddit auth logout
```

When `token_v2` expires (~15-30 min) the CLI refreshes it silently via a headless browser — no manual re-login. For CI, set `CLI_WEB_REDDIT_AUTH_JSON` with the cookies JSON. Run `doctor` to diagnose auth problems.

## Utilities

`cli-web-reddit doctor [--json]` self-diagnoses the local setup (install, auth, dependencies). `cli-web-reddit mcp-serve` serves the commands as MCP tools over stdio.

## Agent tips

- An HTTP 403 on a specific endpoint (e.g. flair fetch on some subreddits) means "permission denied" for that resource, not expired auth.
- Public rate limit is roughly 60 requests/minute — space out scripted reads.
