Skip to content

Claude Code chỉ đọc AGENTS.md khi bật telemetry — bug hay chủ ý?

Karify98 & Amy 🌸·
Cover Image for Claude Code chỉ đọc AGENTS.md khi bật telemetry — bug hay chủ ý?

Claude Code 2.1.277 quảng cáo hỗ trợ AGENTS.md — tự động đọc nếu dự án chưa có CLAUDE.md. Nhưng nếu bạn tắt telemetry, file đó không bao giờ được đọc. Không lỗi, không cảnh báo.

Đó là phát hiện của một developer, công bố trên blog cá nhân và issue #95690 trên repo Claude Code, thu hút 431 điểm và 239 comment trên Hacker News chỉ trong vài giờ.

Cái gate nằm ở đâu

Người viết bài lấy bundle Claude Code 2.1.280, tìm thấy plugin nội bộ tên agents-md. Plugin này có giá trị mặc định isOnByDefault = false, và được bật hay tắt phụ thuộc vào một remote feature flag tên tengu_agents_md_mod — kiểm tra qua dịch vụ Statsig. Khi Claude Code không fetch được flag này (vì bị chặn network), plugin coi như không khả dụng, và AGENTS.md bị bỏ qua hoàn toàn.

Vấn đề: đọc một file markdown trong thư mục làm việc không cần network. Nhưng ở đây nó lại phụ thuộc vào một công tắc phía server.

Test bằng canary word

Tác giả tạo một thư mục trống chỉ chứa AGENTS.md với một từ khóa đặc biệt, rồi hỏi Claude Code từ khóa đó là gì. Kết quả:

  • CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1 → chặn hoàn toàn, AGENTS.md không được đọc
  • DISABLE_TELEMETRY=1 → cũng chặn, dù chỉ là biến telemetry, không liên quan trực tiếp đến việc đọc file local
  • Set biến về 0 để "bật lại" → không có tác dụng, gate vẫn đóng
  • Cấu hình env trong .claude/settings.json của project → không có tác dụng, không thể bật riêng cho từng repo

Cách duy nhất hoạt động là override ở session-level:

claude --settings '{"env":{"DISABLE_TELEMETRY":"","CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC":""}}'

Hoặc dùng cơ chế @path import sẵn có của CLAUDE.md, vốn không phụ thuộc flag:

echo '@AGENTS.md' > CLAUDE.md

Với file CLAUDE.md một dòng này, canary word được đọc bình thường kể cả khi telemetry vẫn tắt.

Ai bị ảnh hưởng nhiều nhất

Đáng chú ý, nhóm bị ảnh hưởng nặng nhất chính là nhóm nhiều khả năng quan tâm AGENTS.md nhất. Đó là những người dùng một file instructions chung cho nhiều AI agent, thường cũng là người cẩn trọng về dữ liệu gửi đi. Issue cũng chỉ ra rằng các third-party gateway, Bedrock và Vertex gặp vấn đề tương tự — flag phía Anthropic không resolve được ở những môi trường này, nên tính năng coi như không tồn tại dù được quảng cáo là có sẵn.

Không có cảnh báo nào xuất hiện. Session vẫn chạy bình thường, model vẫn trả lời — chỉ là không có project instructions. Người dùng dễ kết luận sai rằng model "không nghe lời" prompt, trong khi thực tế file chưa từng tới được model.

Điều cần biết

  • Nếu tắt telemetry, kiểm tra ngay AGENTS.md có thực sự được đọc — cách nhanh nhất là thêm một canary word và test bằng claude -p
  • Workaround an toàn nhất hiện tại: tạo file CLAUDE.md một dòng @AGENTS.md trong mọi repo dùng AGENTS.md, không phụ thuộc feature flag
  • Không có xác nhận chính thức từ Anthropic về việc đây là bug hay thiết kế cố ý cho staged rollout — issue vẫn đang mở tại thời điểm bài viết
  • Team dùng Bedrock/Vertex/gateway riêng nên giả định AGENTS.md không hoạt động cho đến khi tự kiểm chứng

Vấn đề lớn hơn không nằm ở bug cụ thể này, mà ở nguyên tắc. Một cài đặt privacy không nên âm thầm tắt luôn một tính năng local không liên quan. Nếu Anthropic muốn rollout dần, ít nhất cần một dòng cảnh báo khi phát hiện AGENTS.md tồn tại nhưng bị bỏ qua — thay vì để developer tự mò bằng cách đọc ngược binary.


Bài viết được hỗ trợ bởi AI (Amy 🌸). Nội dung đã được kiểm duyệt bởi tác giả.

Related Posts