Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>Greedy KrabNew to Visual Studio Code? Get it now.
Greedy Krab

Greedy Krab

GreedyKrab

|
1 install
| (0) | Free
Claude Code 공식 플러그인으로 터미널(VS Code 없이도)과 Claude Code VS Code 패널에 데모 광고를 표시하거나(적립 없음), 기존 관리 터미널의 Claude Code CLI에 한 줄·옆 패널 광고를 표시합니다(검증 중). VS Code 안의 Codex 패널·통합 터미널에서도 데모 광고를 표시합니다(적립 없음). 공식 Claude·Codex 광고는 도구마다 텍스트 줄 또는 영상 패널(답하는 동안 음소거 자동 재생, 가로·세로 자동)로 고를 수 있습니다. VS Code 밖의 Codex는 지원하지 않습니다.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Greedy Krab

Greedy Krab shows clearly labelled text and video in its own VS Code panel while you use Claude Code CLI. A text demo panel has been observed in a real CLI session. Version 0.0.16 requires verified 18–30-second duration metadata for commercial native video. The local preview remains separately labelled and unbilled. Native video decoding, sound and real reward accounting still require their own verification.

The service is preparing to launch. Installing this extension does not guarantee live ads or rewards. Availability, campaign funding, account eligibility and the service's published terms determine whether an event earns rewards. Demo ads never earn rewards or spend advertiser funds.

Ways of use

Way of use What Greedy Krab does Status
Claude Code VS Code panel (official extension) A demo text ad in Claude Code's working indicator, right above the input, while Claude works; the same ad on a Greedy Krab line under the chat in the side bar (the status bar item when Claude is open as an editor tab), with a row that opens its page. Or, if you choose it, a demo video in a Greedy Krab panel beside the editor Demo, no rewards
claude in any terminal, VS Code open or closed The ad as a link right above the prompt (ctrl-click opens its page) Demo, no rewards
Codex VS Code panel (official extension) A demo text ad on a Greedy Krab line under the Codex chat in the side bar while Codex answers, with a row that opens its page (Codex's panel has no official place for it). Or, if you choose it, a demo video in a Greedy Krab panel beside the editor Demo, no rewards
codex in a VS Code integrated terminal The same line, and the status bar item when the line is not expanded on screen Demo, no rewards
codex used without VS Code Nothing: no official display place; the Codex executable is never wrapped or replaced Not supported
Claude Code CLI in the Greedy Krab managed terminal (below) Existing managed text/video panel Under verification

Running claude in VS Code's integrated terminal is CLI use, not the official Claude Code extension. Every text ad line starts with the ad label and the demo tag.

Official Claude Code integration (demo)

Run Greedy Krab: Claude Code 공식 연동 켜기 / Connect official Claude Code (demo).

  • It writes one key, spinnerVerbs, in Claude Code's user settings (~/.claude/settings.json or $CLAUDE_CONFIG_DIR). This is Claude Code's official setting for the words in its working indicator. The terminal and the official VS Code panel both draw it right above the input while Claude works.
  • Only that key is edited, as raw text: comments, order and spacing elsewhere stay. Your own spinnerVerbs is kept and put back on disconnect. If you change it after connecting, it is left as yours.
  • It also installs a small companion plugin through Claude Code's own plugin commands (claude plugin marketplace add, claude plugin install --scope user). The plugin makes the ad clickable where it can:
    • In a terminal, it draws the ad as a link right above the prompt (ctrl-click opens the page) and puts a plain word in the working indicator, so the ad shows once. A Greedy Krab managed terminal shows its own ad, so the band stays empty there.
    • In the official VS Code panel, nothing above the input can be pressed. While Claude works, the plugin tells this window's Greedy Krab receiver (127.0.0.1 only; the address comes from GREEDYKRAB_CLAUDE_BRIDGE, which VS Code passes to the panel's engine), and the line under the chat shows the same ad, with a row that opens its page. A conversation already open before Greedy Krab started picks this up with its next engine.
  • Hooks and the status line are not touched.
  • It needs neither the managed terminal nor claudeCliEnabled. If the terminal claude is not on PATH, it uses the binary bundled with the official Claude Code VS Code extension.
  • Nothing reads prompts, answers, tool input or transcripts, and nothing is added to the model's input. The only thing sent is the event and ids, to this machine's own receiver.
  • Conversations already open pick the line up from a new conversation.
  • Greedy Krab: Claude Code 공식 연동 끄기 / Disconnect official Claude Code removes both.
  • The same can be done from a terminal with npx greedykrab-cli connect claude once that package is published.

Codex inside VS Code (demo)

Run Greedy Krab: Codex 연동 켜기 / Connect Codex in VS Code (demo).

  • It adds five background hooks to your Codex hooks.json (~/.codex or $CODEX_HOME): UserPromptSubmit, PreToolUse, PostToolUse, PermissionRequest and Stop. Your own hooks stay. Disconnecting removes only ours.
  • Codex runs new hooks only after you trust them. Open the Codex panel's "Review hooks" notice, or Codex Settings → Hooks, and trust the Greedy Krab hooks (greedykrab-codex-hook). Greedy Krab never writes that trust for you.
  • The hook forwards only the event, session and turn ids and the working folder to this VS Code window. It never prints anything, because Codex can add a hook's output to the model's context. It never passes the prompt, tool input or output, or the answer.
  • While Codex answers, the line under the Codex chat shows the ad. It goes back to its plain title while Codex waits for a permission, after the answer, and after 90 seconds without a signal.

The ad line under the chat

VS Code lets an extension add its own view to another extension's side bar container. Greedy Krab adds one line, titled Greedy Krab, under the Claude Code chat and under the Codex chat. Their files, webviews and settings are not changed.

  • It starts collapsed, as one line. A view in another extension's container cannot choose its size, and one that starts expanded takes half of the side bar from the chat. Expanded, it opens at its smallest height; but VS Code adds the line again each time the window starts (after Greedy Krab has started), and an expanded line then takes a larger share. Keep it collapsed to keep it to one line.
  • While Claude or Codex answers, its title is the labelled demo ad (광고 · 데모 · …); otherwise it reads "An ad shows here while an agent answers". Expanded, its first row, Open site, opens the ad's page. VS Code asks before it opens an outside website; trusting the domain there skips the question next time.
  • It appears only while that integration is connected, and only for an extension that was installed when the VS Code window started (otherwise VS Code would put the line in Explorer until a reload).
  • You can collapse, resize, move or hide it like any other view.
  • A chat opened as an editor tab (Claude Code's default) has no side bar under it. Then the status bar item, in orange text, carries the ad while an agent answers. While the line is expanded on screen, the status bar item stays hidden.
  • It needs Node.js on PATH. If [features] hooks = false is set in Codex's config.toml, the command says so and changes nothing there.
  • Codex used without VS Code is not supported: with no VS Code marker, the hook does nothing.
  • Each line follows its own agent: a Claude answer never lights the Codex line, and the other way round.

Text or video, per tool (demo)

Run Greedy Krab: 공식 Claude·Codex 광고 형태(텍스트·영상) / Official Claude·Codex ad format (text or video), or open the Greedy Krab menu. You pick, for Claude Code and for Codex separately:

  • Text (default): the lines above.
  • Video panel: while that tool answers, a Greedy Krab panel opens in an editor group of its own (without taking focus) and plays a packaged demo video, muted. The tool's line under the chat and its status bar ad step aside. Claude Code's own working indicator line stays, because it is Claude Code's setting.

The choice is stored in VS Code's settings (greedykrab.officialAds.claudeCode, greedykrab.officialAds.codex), so every window follows it. It is local: it is not the managed CLI's cliAdMode, and it is never sent as a statistic.

How the video panel behaves:

  • Wide or tall follows the video. Nobody picks an orientation. When a video's size is known, the panel lays it out wide or tall, and beside the text when the panel has room. The demo has one wide and one tall clip: each answer starts with one of them, and when it ends while the tool is still answering, the other one follows. Each plays once per answer, even when the panel is redrawn or the answer comes back after a long tool run. The tall clip plays in a short panel too.
  • Sound: it starts muted. Unmute in the panel turns the sound on, and the next videos in that panel keep it on until you mute again (a panel that is redrawn starts muted). If VS Code refuses to play with sound, the video plays muted instead; a pause or a stop that interrupts a starting video leaves the sound as you set it.
  • It stops while a tool runs, while a permission waits, while the VS Code window is not in front, and while the panel is hidden. It goes idle when the answer ends or after 90 seconds without a signal. An interrupted Codex turn sends no signal, so that wait is the 90 seconds. Codex runs its hooks in the background, so a quick tool's end can arrive before its start; they are paired either way, and the video does not stay stopped.
  • Only the window you are in plays. Two windows on the same folder can both receive one Codex session's signals; a window that is not in front opens no panel and keeps an open one stopped.
  • It does not cover your work. It never takes focus, and it opens in a new group past the last one rather than over a tab (a Claude Code chat opened as an editor included). A new answer brings a hidden panel to front in its own group; if it sits under the tab you are working in, it moves to a new group instead of covering your tab. If you close it, that answer plays in no panel, and the next answer opens one again. Use text ads instead in the panel switches the video tools back to text, and the panel closes once no tool is set to video.
  • Remote windows (WSL, SSH, a container): the panel cannot play the packaged videos there, so the tools set to video show the text ads in that window. The same happens if VS Code fails to make the panel.
  • Open site opens the house ad's page; VS Code asks before it opens an outside website.
  • The play time it confirms from decoded frames, counted only while it may play, appears in Greedy Krab: 진단 for checking. It is never sent and never a reward: the official integrations show demo ads only, and nothing reaches the ad server.

Choose the CLI ad format

Run Greedy Krab: CLI 광고 형태 선택 / Choose CLI ad format from the Command Palette or menu. Version 0.0.17 stores this presentation choice locally as cliAdMode in ~/.greedykrab/config.json.

  • Native text: adds one disclosed line through Claude Code's official statusLine, without starting another CLI or opening an ad panel. Your existing HUD is chained and restored when the line is withdrawn; your own spinner settings are preserved. This mode does not yet submit display rewards or click bonuses. Those require a separately verified proof protocol; printing a line or selecting this mode does not prove a paid view. An OSC 8 link is a normal terminal hyperlink, not verified click accounting. Native custom text is unsupported in Codex CLI.
  • Side panel (default): keeps the existing text/video panel and managed native Claude CLI flow. It removes Greedy Krab's native advertising line to avoid duplicate ads. Selecting the format itself never starts Claude, submits a prompt or enables rewards.

The native line's cache lease expires after at most 15 seconds without renewal. Signing out, switching the format or turning ads off withdraws its owned cache and invalidates old panel proof. The choice is local; it is not yet collected as an administrator preference statistic.

Only the advertising row is shortened at Unicode grapheme boundaries using CJK/emoji cell widths. A real TTY width takes priority, followed by a strictly validated local COLUMNS hint; when neither is available the bounded fallback is 80 columns. This fallback is not proof of the actual terminal width, so a narrower terminal without a width hint still needs a real display check. Your existing HUD output is not truncated. If a user-modified command may still depend on Greedy Krab's helper script, withdrawal keeps those helper files and removes only its ad cache until the command can be reviewed.

From 0.0.18, native text is restricted to a current model-wait phase in an already running Greedy Krab managed Claude session. Every status-line invocation checks its exact session/nonce, transcript-path digest, live runner PID and fresh model lease. Idle, preparing, permission prompts, tools, completion or unknown session activity hides only the ad; your HUD still runs. This does not start a CLI or attach new hooks to an arbitrary session. An ordinary CLI without the supported lifecycle signal cannot show a thinking-only native ad. Local phase metadata is a display gate, not a paid view or proof of physical visibility.

Get started

Claude Code 2.1.x, version 2.1.287 or later, is required for the official model-lifecycle observer. An older or unverified host does not start this integration. On Windows, the official npm-native executable can also be used when its npm shim is missing from PATH.

  1. Install the extension in desktop VS Code 1.82 or newer and run Greedy Krab: 로그인 from the Command Palette. Choose Google, email, Kakao or Naver and finish signing in in your browser. The extension does not ask for or store your email password. The Claude Code CLI integration uses this same Greedy Krab account and also needs Node.js 18 or newer available on PATH.
  2. Review the service terms and advertising consent before enabling the service.
  3. Run Greedy Krab: 진단 to check local setup. An installed tool alone does not prove that a real ad has displayed or earned rewards.
  4. Choose Greedy Krab: Claude CLI 시작 / Start Claude CLI from the Command Palette or Greedy Krab menu. Commercial ads require service access and an available creative. During prelaunch, choose Greedy Krab: Claude CLI 데모 — 적립 없음 / Demo — no rewards explicitly to test the managed ad panel. The demo sends no impression, click or reward requests and resets when the extension restarts or you sign out or restore. The extension never submits prompts. Claude Code must be on PATH and signed in separately. OpenCode 2.x and Codex CLI are not supported in this version.

The selected managed terminal, a focused VS Code window, the current CLI session and an independently visible ad panel must all agree before view time accumulates. Closing/hiding the ad panel, changing terminals, leaving the window or losing fresh display evidence stops accrual. The API identifies the surface as cli_owned_panel. A selected terminal is not a claim that the keyboard is focused inside it, and the app does not independently measure operating-system window occlusion.

The terminal status line is an unbilled indicator. Claude Code captures a status-line script's output and can hide it during help or permission prompts, so invoking that script alone never counts as a paid view. In side panel mode, Greedy Krab starts Claude through its own Node runner with a session-only observer plugin. Official CLI lifecycle hooks and the running terminal process identify active waiting, permission pauses and completion; the observer prints no decisions and does not replace user, project or managed security hooks. It stores only minimal local session/phase metadata, never prompt or tool input. The paid view comes from the visible owned panel, not a status-line timer. External terminals lack this managed-panel proof and do not earn through the status-line indicator.

The CLI integration uses a managed Claude session and Greedy Krab's own VS Code ad panel; the terminal status line is an unbilled indicator. OpenCode's retained plugin uses its V1 interface; OpenCode's official V2 migration guide says V1 implementations do not run in V2. That plugin is off by default. Existing V1 users can explicitly set openCodeEnabled: true in ~/.greedykrab/config.json; the extension also requires an unambiguous V1 result from OpenCode's documented --version flag. V2, a co-installed V2 CLI, or an unknown version leaves the plugin disabled. This legacy path is not a supported public integration. The VS Code companion manages the Greedy Krab account. The separate greedykrab-cli package connects the official Claude Code plugin from a terminal; it is prepared but not yet published. Claude Code's VS Code panel, Codex's VS Code panel and Cursor's built-in AI are never patched. Only the official Claude Code plugin above draws in Claude Code's VS Code panel, as a demo. Video is supported in this owned VS Code panel from version 0.0.13 and in the separate browser side-panel extension.

Video controls and local preview

Video starts muted and keeps the advertisement text. Use Play/Pause and Unmute/Mute in the panel. If autoplay is blocked, press Play. Unknown or unsupported audio disables sound with an explanation; an .mp4 extension alone does not prove audible playback. Native video serving requires verified H.264 or VP8 metadata. AAC audio is unsupported by VS Code; a compatible declared audio track still needs actual playback verification.

Greedy Krab: 영상 데모 미리보기 — 적립 없음 / Preview video — no rewards plays the fixed packaged landscape and portrait H.264/MP3 fixtures in turn. There is no orientation to pick: the layout follows each video, and Replay starts again from the first. This preview makes no AI request, observes no model waiting and sends no visibility, click or reward events. The managed explicit demo also uses a fixed packaged video and sends no metrics. Public commercial media is accepted only from canonical first-party public ad-media object URLs; arbitrary CDN, file, signed-query and encoded traversal URLs are rejected. Local resources are allowed only for explicit demo and preview.

Actual decoded-frame progress, normal-rate playback, fresh visible DOM evidence and active managed model waiting must agree before commercial video accrues view time. Paused, stalled, seeking, ended, failed, hidden or unfocused playback does not accrue. Lost proof resets partial exposure; replayed positions and seek jumps cannot add time. Videos never loop to qualify for a threshold. The bundled landscape fixture is 5.433 seconds and cannot qualify for an eight-second threshold.

Local changes and privacy

  • The Claude CLI test path modifies your status-line settings. A legacy V1 OpenCode opt-in may install a Greedy Krab file in its plugin directory. These paths do not modify vendor binaries or VS Code extension bundles. The restore command can also recover historical Greedy Krab patches when an intact pristine backup matches the current vendor file.
  • The managed CLI observer receives local hook input and selects only session identity and lifecycle metadata. It does not retain or transmit prompts, tool input or conversation contents. The paid-view loop does not read transcript contents.
  • Submission alone is preparing, not a paid view. A read-only official turn.step observer forwards each original chunk and result unchanged and records only a live main-model request with its abort signal. Interrupted/completed requests end eligibility. Permission/elicitation blockers are tracked separately; malformed, failed or incomplete observation stops billing.
  • Authentication credentials use VS Code SecretStorage and an encrypted local recovery copy. The retired vendor-webview loopback server is not started.
  • The service receives account and consent information and limited advertising events, such as advertisement identifiers, event type, timestamps, device identifier and tool versions. Review the Privacy Policy and Terms before use.

Restore or remove

Run Greedy Krab: 원상 복구 (패치 되돌리기) before uninstalling. It stops active integrations and checks discovered historical VSIX and Codex npm launcher backups before any vendor-file restore. If a backup is absent or the vendor file has changed, it leaves that file untouched and reports that manual recovery is needed. Claude CLI restoration preserves unrelated settings changed after installation.

Marketplace builds use VS Code Marketplace updates. Greedy Krab: 업데이트 확인 delegates to VS Code's extension update check; this build does not download and install updates from a separate Greedy Krab update server.

Support

  • Service website
  • Email: support@greedykrab.net

Greedy Krab is an independent service. References to third-party products identify integrations and do not imply endorsement or partnership.

Build a Marketplace package

From the repository root, use this single command:

pnpm --dir apps/extension package:marketplace

Or, from apps/extension:

node scripts/package-marketplace.mjs --out greedykrab-marketplace.vsix

The command builds production Marketplace code, verifies the distribution marker, then packages with an existing local or npm-cached @vscode/vsce 3.9.2. It does not download tools or publish the extension. A managed environment can provide an existing CLI entry with --vsce /absolute/path/to/vsce.

Use package:marketplace for Marketplace artifacts. The separate package command keeps the self-hosted build path and rebuilds the bundle; running build:marketplace followed by package does not preserve Marketplace mode. Self-hosted production builds still require their Ed25519 update keys.


한국어 안내

Greedy Krab: CLI 광고 형태 선택에서 ‘기존 Claude CLI에 한 줄’과 ‘옆 패널에서 텍스트·영상’을 고를 수 있습니다. 기본은 옆 패널이며 선택값은 로컬 설정에 저장합니다. 한 줄 모드는 공식 상태줄만 사용하고, 새 CLI나 별도 광고 창을 실행하지 않습니다. 사용자의 기존 HUD·스피너 설정은 보존합니다. 표시 보상과 클릭 보너스는 아직 증명 절차·서버 연결 전입니다. 링크를 여는 것과 실제 클릭 집계는 구분됩니다. Codex CLI의 네이티브 한 줄 표시와 관리자 형태 선호 통계는 이번 변경에 포함하지 않습니다.

0.0.18의 한 줄 광고는 이미 실행 중인 Greedy Krab 관리 Claude 세션에서 실제 모델 대기를 확인할 때만 표시합니다. 입력 대기·준비·권한 승인·도구 실행·완료·상태 불명에서는 광고 줄만 숨기고 기존 HUD를 유지합니다. 일반 CLI에 새 훅을 붙이거나 CLI를 다시 실행하지 않습니다. 표시 확인과 지급용 시청 증명은 별개이며 실제 설치 검증은 아직 남아 있습니다.

Greedy Krab은 Claude Code CLI를 사용할 때 별도 광고 패널을 표시하고, 적격 광고 수익의 일부를 리워드로 제공하는 서비스입니다. 현재 출시를 준비 중이며 데모 광고에는 적립이나 광고주 과금이 발생하지 않습니다.

로그인·동의를 마친 뒤 Greedy Krab: Claude CLI 시작을 선택하세요. 실제 광고는 서비스 접근 승인과 광고 재고가 필요합니다. 사전공개 중 패널을 시험하려면 Greedy Krab: Claude CLI 데모 — 적립 없음을 직접 선택하세요. 데모는 노출·클릭·적립 집계 요청을 보내지 않으며 재시작·로그아웃·원상 복구 시 종료됩니다. Claude 자체 로그인은 별도이며 프롬프트를 자동 제출하지 않습니다. 해당 터미널의 선택 상태, VS Code 창 포커스, 실제 광고 패널 가시성, 현재 CLI 세션이 모두 확인될 때만 실제 광고의 시청시간을 누적합니다. 패널을 닫거나 숨기고, 터미널을 바꾸거나 창을 벗어나면 시청을 중단합니다. 상태줄·스피너는 비과금 안내이며 외부 터미널에는 이 패널의 가시성 증거가 없어 상태줄만으로 적립하지 않습니다. 실제 설치본의 광고·적립 검증은 아직 남았습니다.

OpenCode 2.x와 Codex CLI, Claude Code·Codex VS Code 패널, Cursor 내부 AI 광고 연동은 지원하지 않습니다. 기존 OpenCode V1 코드는 기본 OFF이며 명시적 설정과 V1 버전 확인이 모두 필요합니다. 제거 전 원상 복구 명령은 과거 패치의 원본 백업과 현재 파일이 일치할 때만 복구합니다.

Google·이메일·카카오·네이버 중 로그인 방법을 선택할 수 있습니다. 이메일 비밀번호는 브라우저의 로그인 화면에서만 입력하며 확장에 저장하지 않습니다. CLI 광고 연동도 이 관리 확장의 Greedy Krab 계정을 사용합니다. Claude Code 자체의 로그인은 별도로 진행해야 합니다.

공식 Claude·Codex 광고 형태(텍스트·영상, 데모): **Greedy Krab: 공식 Claude·Codex 광고 형태(텍스트·영상)**에서 Claude Code와 Codex마다 따로 고릅니다. 기본은 텍스트(채팅 아래 Greedy Krab 줄·상태 표시줄)입니다. 영상 패널을 고르면 그 도구가 답하는 동안 Greedy Krab 패널에서 데모 영상이 음소거로 재생됩니다. 패널은 마지막 편집기 그룹 뒤 새 그룹에 열려 어떤 탭도 덮지 않고, 사용자가 쓰는 탭 밑에 묻히면 새 그룹으로 옮겨 보여 줍니다. 가로·세로는 사람이 고르지 않고 영상 모양에 맞춰 자동으로 바뀝니다. 한 답변 안에서 영상이 끝나면 다른 모양 영상이 이어서 한 번 재생되며, 패널이 다시 그려지거나 오래 걸린 도구 뒤 같은 답변이 돌아와도 같은 영상을 다시 틀지 않습니다. 도구 실행·권한 대기 중, VS Code 창이 앞에 있지 않을 때, 패널이 가려졌을 때는 멈춥니다. 답이 끝나거나 90초 동안 신호가 없으면 대기 상태로 돌아갑니다. 같은 폴더를 연 두 창에서는 앞에 있는 창에서만 재생합니다. 소리는 패널의 ‘음소거 해제’로 켜며, 켠 소리는 같은 패널의 다음 영상에도 이어집니다. 영상 형태인 도구가 없으면 패널은 닫힙니다. 원격 창(WSL·SSH·컨테이너)에서는 영상 대신 텍스트로 보입니다. 선택은 VS Code 설정에만 저장하며 통계로 보내지 않습니다. 적립은 없습니다.

0.0.13부터 소유 VS Code 패널에서 텍스트와 검증된 영상 형식을 함께 지원합니다. 영상은 기본 음소거이며 재생·일시정지·음소거 해제 버튼을 제공합니다. 지원되는 소리를 확인하지 못하면 소리 버튼을 비활성화합니다. 영상 데모 미리보기는 AI 요청·모델 대기 관찰·적립 집계 없이 고정된 로컬 가로·세로 영상을 차례로 재생합니다(방향을 고르는 단계 없음). 실제 VS Code 영상·소리 재생은 별도 확인이 필요합니다. 소스 코드·프롬프트·대화 내용은 광고 텔레메트리로 전송하지 않습니다. 개인정보 처리 내용과 이용 조건은 위 링크에서 확인할 수 있습니다.

Build 0.0.21 · marketplace · 2026-10-07T17:11:44.537Z

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