Comment by NewsaHackO

11 hours ago

No, the link clearly says that if you are not using the harness provided by Claude for the Agent SDK (such as for making tool calls), you have to use the Client SDK. So attempting to prompt the Agent SDK with a third-party app so that the third-party app can then call a tool with the output is not allowed in the Agent SDK. You have to use the Client SDK (API).It even gives an example in the section I asked you to read, which is why I am seriously doubting whether or not you read it.

> the link clearly says that if you are not using the harness provided by Claude for the Agent SDK (such as for making tool calls), you have to use the Client SDK

But you just made this up? There's no text on the page that says this. What the linked page does is explain technical differences between Agent SDK and Client SDK, and Agent SDK and cli (Agent SDK is just a wrapper around cli anyway).

Neither tab says anything remotely like "if a third-party app prompts the Agent SDK and uses the output for tool calls, that's not allowed." You entirely fabricated this from the comparisons.

And your assumption is wrong on another level. The Agent SDK specifically exists so that you can write your own harness and give it custom tools - that's its entire purpose. It's even documented in their custom tools guide [1]. So not only "using a third-party harness with the Agent SDK" isn't forbidden, it's the product's primary use case. There's no such thing as "harness provided by claude for the agent SDK" - you bring the harness.

The only policy statement on that page is this:

> Unless previously approved, Anthropic does not allow third party developers to offer claude.ai login or rate limits for their products..

But I've already addressed this, so it seems we're going in circles.

[1] https://platform.claude.com/docs/en/agent-sdk/custom-tools

  • >And your assumption is wrong on another level. The Agent SDK specifically exists so that you can write your own harness and give it custom tools - that's its entire purpose. It's even documented in their custom tools guide [1].

    Yea, you don't seem to even understand what you are writing. This in no way contradicts any statement I or Anthopic has said.

    >Neither tab says anything remotely like "if a third-party app prompts the Agent SDK and uses the output for tool calls, that's not allowed." You entirely fabricated this from the comparisons.

    From: https://platform.claude.com/docs/en/agent-sdk/overview#agent...

    >The Anthropic Client SDK gives you direct API access: you send prompts and implement tool execution yourself. The Agent SDK gives you Claude with built-in tool execution.

    >With the Client SDK, you implement a tool loop. With the Agent SDK, Claude handles it:

    Python

      # Client SDK: You implement the tool loop
      response = client.messages.create(...)
      while response.stop_reason == "tool_use":
          result = your_tool_executor(response.tool_use)
          response = client.messages.create(tool_result=result, \*params)
    
      # Agent SDK: Claude handles tools autonomously
      async for message in query(prompt="Fix the bug in auth.py"):
          print(message)
    
    

    At this point, it's clear that you either have questionable reading comprehension skills, are being willfully ignorant, or are arguing in bad faith because it even says that tool calls outside of the Agent SDK harness has to use the Client SDK as the comments to the code used in the examples.

    • > At this point, it's clear that you either have questionable reading comprehension skills, are being willfully ignorant, or are arguing in bad faith

      As an onlooker to this exchange, perhaps things aren't as clear as you're making out. After reading what you wrote I remain unclear. What precise actions with headless mode risk getting me banned?

      Is the idea that you are only ever permitted to feed the Agent SDK human generated prompts? That so long as the text you feed into it is 100% human generated you can use your entire quota and won't be banned? To be clear, you could take the output and make a tool call and present that to a human, and the human could go on to make further prompts, but feeding the result of the tool call (which you presented to the human) back into the context is forbidden? Am I on the right track here?