Gemini CLI vs. Claude Code CLI: A Comprehensive Comparison for Developers

1. Introduction to the Launch of Gemini CLI

Recently, Google launched Gemini CLI – an open-source AI agent that can be directly integrated into the terminal for work. In previous articles about Claude Code CLI, we already saw its powerful features. Now, with the interesting arrival of Gemini CLI, users have even more options when choosing which agent to use. In this article, we’ll explore and compare the different criteria between Claude Code CLI and Gemini CLI to see which agent might best suit your needs.

2. Comparison Criteria Between the Two CLI Agents

a. Platform Support

  • Claude Code CLI: This tool has certain limitations when it comes to operating system support. It works well on MacOS and Ubuntu, but for Windows users, it requires extra steps such as installing an Ubuntu WSL virtual machine. Even then, there are still some restrictions and a less-than-ideal user experience.

  • Gemini CLI: Google’s new tool supports all operating systems, allowing users on any platform to set up and use it quickly and easily.

b. Open Source

  • Claude Code CLI: This is a closed-source tool, so its development is entirely controlled by Anthropic.

  • Gemini CLI: Google’s tool is open source, licensed under Apache 2.0, which enables the user community to access and collaborate on making the tool more robust and faster.

c. AI Model

  • Claude Code CLI: Utilizes powerful Anthropic models such as Claude Opus 4 and Claude Sonnet 3.7, both highly effective for coding tasks.

  • Gemini CLI: Gives access to Gemini 2.5 Pro and Gemini 2.5 Flash, each useful for different needs.

d. Context Limitations

  • Claude Code CLI: This is a paid tool. Users can access it through their Claude account with various tiers, each offering different token limits (from 250K to 1M tokens per model). Users can also use Claude’s API key to pay based on token usage.

  • Gemini CLI: Google’s tool provides a free version, which allows access to Gemini 2.5 Pro, but can quickly hit the limit and drop down to Gemini 2.5 Flash.

e. Community and Extensibility

  • Claude Code CLI: As a closed-source tool, only the developer (Anthropic) can improve and maintain it.

  • Gemini CLI: Being open source, it has a large and vibrant community contributing to its rapid improvement and greater capabilities.

3. Gemini CLI

  • Link: https://github.com/mhieupham1/Flashcard_GeminiCLI

  • Prompt Example:

    • Please make for me a website about using flashcard for learning English with HTML, CSS, Javascript, do the best for UI/UX

    • A flashcard set can archive many words, user can add more word to a new set or existed set

    • Function for folder that can add existed flashcard sets or remove it

    • Function for flashcard set that can edit transfer user to a web to practice in this flashcard set

    • Dashboard need to have more eye-catching, good layout

    • And many prompts to ask Gemini CLI to fix their own bugs

    • Make the web has layout, functions like an official website with better CSS, JS, HTML

  • Strengths:

    • Can handle large token requests and good at reading context

    • Cost: Free version can access Gemini 2.5 Pro, but may quickly hit limits and fall back to Gemini 2.5 Flash. Sometimes, after logging out and back in, it works normally again with Gemini 2.5 Flash. A pro account offers a one-month free trial, after which users can cancel or continue with the stated price.

  • Weaknesses:

    • Requires a very large number of tokens (1M tokens for pro, 11M for flash) to build the website (even when incomplete)

    • Prone to repeated error loops, wasting tokens

    • Codebase is still weak and doesn’t always fully understand user intentions or basic web concepts, so prompts need to be very detailed

4. Claude Code CLI

  • Link: https://github.com/mhieupham1/Flashcard_ClaudeCodeCLI

  • Prompt Example:

    • Please make for me a website about using flashcard for learning English with HTML, CSS, Javascript, do the best for UI/UX

    • A flashcard set can archive many words, user can add more word to a new set or existed set

    • Function for folder that can add existed flashcard sets or remove it

    • Function for flashcard set that can edit transfer user to a web to practice in this flashcard set

    • Dashboard need to have more eye-catching, good layout

  • Strengths:

    • Understands user ideas very well, outputs high-quality, efficient, and minimal code without missing features

    • Only required 30K tokens for the flashcard web demo

    • Good, user-friendly UI/UX

    • Produced the demo with a single request (using only a pro account, not the max tier)

  • Weaknesses:

    • Requires a paid account or API key (tokens = dollars), but the code quality is worth the price

5. Conclusion

With the comparison above, it’s clear that Gemini CLI is currently much stronger than Claude Code CLI. However, a deeper dive into their practical efficiency and benefits for different use cases is still needed.

a. Gemini CLI

  • Strengths:

    • Free to use with high token limits, suitable for large projects needing a large context window

    • Highly compatible across platforms and easy to set up

    • Open source, ensuring rapid improvement through community contributions

    • Fast code reading and generation

  • Weaknesses:

    • Can randomly hit usage limits, dropping from Gemini Pro 2.5 to Gemini Flash 2.5, reducing effectiveness

    • Prone to repeated errors/loops, which can be difficult to escape’

    • Codebase may not be as efficient, often needing very detailed prompts

b. Claude Code CLI:

  • Strengths:

    • High-quality, thoughtful, and efficient codebase generation

    • Highly suitable for commercial projects thanks to token optimization

  • Weaknesses:

    • Requires a paid account, with different tiers for different performance levels; top tier is expensive

    • Limited cross-platform compatibility, making it less accessible or offering a poorer experience for some users

6. Which Should You Use? Summary of Best Use Cases

When is Claude Code CLI most convenient?
Claude Code CLI is the better choice if you prioritize high-quality, efficient, and minimal code output, especially for commercial projects that require clean UI/UX and robust functionality. It is also ideal when you want to achieve your result in a single, well-phrased prompt. However, you need to be willing to pay for a subscription or API access, and set up the tool on a supported platform.

When is Gemini CLI more convenient?
Gemini CLI is perfect if you need a free, open-source tool that works across all major operating systems and is easy to install. It’s best for large projects that require handling a lot of data or context, and for those who want to benefit from fast community-driven improvements. Gemini CLI is especially suitable for personal, experimental, or learning projects, or when you need flexibility and cross-platform compatibility—even though it might sometimes require more detailed prompts or troubleshooting.

Combining tmux and Claude to Build an Automated AI Agent System (for Mac & Linux)

1. Introduction

With the rapid growth of AI, multi-agent systems are attracting more attention due to their ability to coordinate, split tasks, and handle complex automation. An “agent” can be an independent AI responsible for a specific role or task.

In this article, I’ll show you how to combine tmux (a powerful terminal multiplexer) with Claude (Anthropic’s AI model) to build a virtual organization. Here, AI agents can communicate, collaborate, and work together automatically via the terminal.

 

2. What is tmux?

tmux lets you split your terminal into multiple windows or sessions, each running its own process independently. Even if you disconnect, these sessions stay alive. This is super useful when you want to run several agents in parallel, each in their own terminal, without interfering with each other.

 

3. What is Claude?

Claude is an advanced language AI model developed by Anthropic. It can understand and respond to text requests, and it’s easy to integrate into automated systems—acting as a “virtual employee” taking on part of your workflow.

 

4. Why combine tmux and Claude?

Parallel & Distributed: Each agent is an independent Claude instance running in its own tmux session.

Workflow Automation: Easily simulate complex workflows between virtual departments or roles.

Easy Debug & Management: You can observe each agent’s logs in separate panes or sessions.

 

5. System Architecture

Let’s imagine a simple company structure:

PRESIDENT: Project Director (sets direction, gives instructions)

boss1: Team Leader (splits up tasks)

worker1, worker2, worker3: Team members (do the work)

Each agent has its own instruction file so it knows its role when starting up.

Agents communicate using a script:

./agent-send.sh [recipient] “[message]”

Workflow:

PRESIDENT → boss1 → workers → boss1 → PRESIDENT

 

6. Installation

Since the code is a bit long, I’ll just share the GitHub link to keep things short.

tmux:
Install guide: tmux Installing Guide

Claude:
Install guide: Claude Setup Guide

Git:
Install guide: Git Download

Clone the project:

bash
git clone https://github.com/mhieupham1/claudecliagent

 

Inside, you’ll find the main folders and files:

CLAUDE.md: Describes the agent architecture, communication, and workflows.

instructions/: Contains guidance for each role.

.claude/: JSON files to manage permissions for bash scripts.

setup.sh: Launches tmux sessions for PRESIDENT, boss1, worker1, worker2, worker3 so agents can talk to each other.

agent-send.sh: Script for sending messages between agents.

 

7. Deployment

Run the setup script:

bash
./setup.sh
This will create tmux sessions for PRESIDENT and the agents (boss1, worker1, worker2, worker3) in the background.

To access the PRESIDENT session:

bash
tmux attach-session -t president


To access the multiagent session:

bash
tmux attach-session -t multiagent


In the PRESIDENT session, run the claude command to set up the Claude CLI.

Do the same for the other agents.

Now, in the PRESIDENT window, try entering a request like:

you are president. create a todo list website now
PRESIDENT will start the to-do list. PRESIDENT will send instructions to boss1, boss1 will assign tasks to worker1, worker2, and worker3.

You can watch boss1 and the workers do their jobs, approve commands to create code files, and wait for them to finish.

Result:

8. Conclusion

Combining tmux and Claude lets you create a multi-agent AI system that simulates a real company: communicating, collaborating, and automating complex workflows. Having each agent in its own session makes it easy to manage, track progress, and debug.

This system is great for AI research, testing, or even real-world workflow automation, virtual team assistants, or teamwork simulations.

If you’re interested in developing multi-agent AI systems, try deploying this model, customize roles and workflows to your needs, and feel free to contribute or suggest improvements to the original repo!

A Step-by-Step Guide to Integrating and Using Claude Code Action on GitHub

Investigate how Claude Code Action is great. Just create an issue and put  a mention to Claude  like @claude, Claude can write the code automatically

Introduction

In the current era of rapidly evolving technology, artificial intelligence (AI) 

stands out as one of the most significant and transformative breakthroughs on a global scale. Among the various AI-driven tools, Claude — particularly the Claude Action Code — represents a powerful integration that can be embedded into user’s GitHub repositories to address raised issues with remarkable accuracy and efficiency. This paper aims to explore the capabilities and applications of Claude Action Code in modern software development workflows.

Body content

Claude Code Action is a extension categorized as a “Action” and made available on the GitHub Marketplace by Anthropic. Users can search for and utilize it by following the provided setup instructions outlined in the README documentation. Below is a summary of the basic setup steps for integrating Claude Code Action into user’s GitHub repository: 

1.Create a workflow folder:

On GitHub: In user’s GitHub repository, click “Add file”:

insert the configuration into the path:“.git/workflows/[file_name].yml”. For instance: 

Next, insert the appropriate workflow configuration for this extension, depending on your intended use:

For example: 

name: Claude PR Assistant

on:

  issue_comment:

    types: [created]

  pull_request_review_comment:

    types: [created]

  issues:

    types: [opened, assigned]

  pull_request_review:

    types: [submitted]

 

jobs:

  claude-code-action:

    if: |

      (github.event_name == ‘issue_comment’ && 

contains(github.event.comment.body, ‘@claude’)) ||

      (github.event_name == ‘pull_request_review_comment’ && contains(github.event.comment.body, ‘@claude’)) ||

      (github.event_name == ‘pull_request_review’ && 

contains(github.event.review.body, ‘@claude’)) ||

      (github.event_name == ‘issues’ && contains(github.event.issue.body, ‘@claude’))

    runs-on: ubuntu-latest

    permissions:

      contents: write

      pull-requests: read

      issues: read

      id-token: write

    steps:

      – name: Checkout repository

        uses: actions/checkout@v4

        with:

          fetch-depth: 1

 

      – name: Run Claude PR Action

        uses: anthropics/claude-code-action@beta

        with:

          anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}

          timeout_minutes: “60”

Then, click “Commit changes” to successfully add the configuration to your repository.

On the user’s local machine: If a folder in VScode has already  been connected to the GitHub repository, the user can manually create a workflow directory and a .yml file to store the Claude configuration. Then, file can be pushed to the GitHub repository

2.API key:

  • After that, the API key should be added to the repository’s Secrets under the Setting tab, rather than being hard-coded directly into workflow file to prevent unauthorized access

 

Find Action in Secret and variables

Create a new repository secret

Add your API key to Secret’s description

Name secret as key’s name in the workflow file

✅Correct

❌Never do it

3. Using Claude Code Action

User creates a new issue within repository where Claude is intended to be used: 

The user describes the issue to be resolved – such as feature creation, bug fixing, code review, …  – in the issue’s description. You can tag “@claude” directly in the description or in a comment after the issue is created, in order trigger Claude to process the request

Ex: Ask Claude to generate complete login and registration pages based on the initial files in the repo

Claude is invoked via API to address the issue described, with the response time depending on the complexity of the request. It uses the token associated with your API key to read the issue content as well as to create or modify code within the repository

Claude’s response will appear in the comments section of the issue.

Here, Claude generates additional files, for example register.html and dashboard.html, as part of the requested implementation and show what changes are made to each file — including which parts are added, modified, or deleted.

At this point, Claude has created a separate branch in the repository containing the proposed changes. The user can then review and consider merging these updates into the main branch via a pull request.

After successfully merging into the main branch

 

Following a successful merge, the issue may be closed. At this point, Claude has been effectively utilized to generate complete, functional demo pages for user login and registration.

 

4.Result:

Registration page

Login screen

Dashboard screen

In summary, Claude Code Action proves to be a highly effective tool for streamlining development tasks, making it easier for both individuals and teams to enhance productivity.

VideoJAM: Cải Tiến Chuyển Động Khi Tạo Video Bằng AI

Xin chào các bạn, tôi là Minh Hiếu!

Không ngừng phát triển và tạo ra những đột phá mới, AI đang thay đổi thế giới theo cách chưa từng có. Trong hành trình cập nhật và học hỏi, tôi đã dành thời gian tìm hiểu về VideoJAM AI. Chủ đề này mở ra nhiều góc nhìn thú vị và tiềm năng đột phá. Hãy cùng khám phá trong bài viết này nhé!

1. AI thời nay bá đạo thật, nhưng mà… vẫn chưa đủ!

Chúng ta đang sống trong thời đại mà AI có mặt ở khắp mọi nơi. Lướt Facebook, TikTok, hay bất cứ đâu trên internet, ta dễ dàng thấy những hình ảnh, video do AI tạo ra. Nó “quá thật” đến mức ai nhìn vào cũng biết ngay là do AI làm. Video của AI đẹp hơn thật, nhưng chuyển động vẫn cứng, chưa mượt mà, chưa tuân theo các quy luật vật lý. Nói trắng ra là xem vẫn thấy “giả trân”! Vậy ai sẽ đứng lên cải thiện điều đó? Xin giới thiệu Video JAM – kẻ nổi loạn mới trong làng công nghệ! Video JAM không chỉ giúp bạn tạo nội dung bằng video mà còn mang lại chuyển động mượt mà, chân thực như đời thực. Các anh lớn AI cứ ngồi đó mà nhìn nhé, vì JAM đã sẵn sàng vượt mặt nói với những công nghệ cũ và nói rằng “Cha già rồi đúng không?” – Vậy thì về vườn thôi, để JAM làm chủ cuộc chơi!

Nguồn: https://hila-chefer.github.io/videojam-paper.github.io/

2. Vậy thì Video JAM có gì mà ghê vậy ?

Video JAM được thiết kế để cải thiện sự nhất quán của chuyển động trong video AI bằng cách kết hợp thông tin về ngoại hình (appearance) và chuyển động (motion) ngay từ quá trình huấn luyện.Thay vì chỉ tập trung vào độ chính xác pixel hình ảnh như những công nghệ AI đã làm trước đó, Video JAM kết hợp cả hình ảnh và chuyển động đây là 2 thứ làm nên một video ’thật’. Đội ngũ Video JAM tin rằng tin rằng chuyển động chân thực chính là chìa khóa để khai phá toàn bộ tiềm năng của nội dung do AI tạo ra, và đó là lý do họ cống hiến hết mình để hoàn thiện nó. Đội ngũ các nhà nghiên cứu và kỹ sư chuyên gia đã cùng chung một tầm nhìn: tạo ra video AI không chỉ đẹp mắt mà còn chân thực và cuốn hút.

3. Video JAM hoạt động như thế nào ?

Video JAM hoạt động bằng cách:

(a) Huấn luyện (Training):

    • Với một video đầu vào x1​ và biểu diễn chuyển động tương ứng d1d_1d1​, cả hai tín hiệu này đều được thêm nhiễu và nhúng vào một biểu diễn tiềm ẩn chung thông qua một lớp tuyến tính Win+
    • Mô hình khuếch tán (diffusion model) sau đó xử lý dữ liệu đầu vào, và hai lớp chiếu tuyến tính dự đoán cả hình ảnh lẫn chuyển động từ biểu diễn chung Wout+W_{\text{out}}^+Wout+​.

Ý nghĩa của phần huấn luyện trên là: 

Không chỉ tái tạo nội dung từng khung hình, VideoJAM còn học cách duy trì sự liên kết giữa các khung hình để đảm bảo chuyển động mượt mà hơn.

(b) Suy luận (Inference):

    • Chúng tôi đề xuất Inner-Guidance, một cơ chế trong đó chính dự đoán chuyển động nhiễu của mô hình được sử dụng để hướng dẫn quá trình tạo video tại từng bước.

Ý nghĩa của phần suy luận trên là: 

Inner-Guidance giúp mô hình tự điều chỉnh chuyển động theo từng bước thay vì chỉ dựa vào dữ liệu đầu vào, khắc phục hạn chế của các mô hình trước đó.

Ảnh mô tả ở phía dưới: 

Video JAM hoạt động như thế nào

Nguồn:https://hila-chefer.github.io/videojam-paper.github.io/

4. So sánh Video JAM với các phương pháp cũ & Kết quả thử nghiệm

  • Trước đây:
    • Các phương pháp tạo video trước đây chủ yếu tập trung vào việc tạo từng khung hình riêng lẻ mà không quan tâm đến sự kết nối giữa chúng. Điều này khiến video có thể trông đẹp ở từng frame nhưng lại thiếu đi sự mượt mà khi chuyển động.
  • Bây giờ:
    • VideoJAM khắc phục vấn đề này bằng cách học chuyển động một cách trực tiếp, giúp video trở nên tự nhiên hơn.
  • Kết quả thử nghiệm:
    • Các thử nghiệm đã chứng minh Video JAM mang lại nhiều cải tiến quan trọng:
      🔹 Tăng tính nhất quán của chuyển động: Video ít bị giật, các khung hình có sự liên kết rõ ràng hơn.
      🔹 Cải thiện chất lượng hình ảnh: Đảm bảo hình ảnh sắc nét mà không làm mất đi động lực của video.
      🔹 Hiệu suất vượt trội: Video JAM hoạt động tốt hơn so với các mô hình cũ trong các thử nghiệm với chuyển động phức tạp như chạy, nhảy, xoay, v.v.
  • Video so sánh giữa các mô hình Runway gen 3, Sora, DiT, DiT + Video JAM
    • Runway gen 3:

Nguồn: https://hila-chefer.github.io/videojam-paper.github.io/

    • Sora:

Nguồn: https://hila-chefer.github.io/videojam-paper.github.io/

    • DiT

Nguồn: https://hila-chefer.github.io/videojam-paper.github.io/

    • DiT + Video JAM

Nguồn: https://hila-chefer.github.io/videojam-paper.github.io/

5. Video JAM rất mạnh nhưng vẫn có điểm yếu và thách thức 

Mặc dù Video JAM mang lại nhiều cải tiến, nhưng nó vẫn có một số thách thức:

  • Yêu cầu dữ liệu huấn luyện phong phú: Cần một tập dữ liệu đa dạng về chuyển động để mô hình học hiệu quả.
  • Tính toán phức tạp hơn: Mô hình có thể yêu cầu phần cứng mạnh hơn để xử lý thông tin về cả ngoại hình và chuyển động.

6. Tương lai của Video JAM và ứng dụng thực tế

VideoJAM có thể được ứng dụng rộng rãi trong nhiều lĩnh vực:

  • Sản xuất nội dung số: Tạo video AI chất lượng cao cho phim, quảng cáo, game.
  • Tăng cường công nghệ thực tế ảo (VR) và thực tế tăng cường (AR).
  • Ứng dụng trong giáo dục và đào tạo, giúp tạo ra các video mô phỏng chuyển động phức tạp.

Trong tương lai, việc kết hợp Video JAM với các mô hình AI khác có thể giúp tạo ra những video siêu thực, mở ra nhiều cơ hội mới cho ngành công nghệ.

7. Kết luận

Video JAM là một bước tiến quan trọng trong lĩnh vực tạo video bằng AI, giúp cải thiện tính nhất quán của chuyển động và nâng cao chất lượng video. Mặc dù vẫn còn một số thách thức, nhưng công nghệ này hứa hẹn sẽ đóng vai trò quan trọng trong tương lai của AI và đồ họa máy tính.