reasoning_content visible in LangSmith when using langgraph up but not in standalone Python

I noticed a difference in LangSmith tracing between langgraph up and a standalone Python script using AsyncPostgresSaver + create_deep_agent.

  • With langgraph up: reasoning_content appears in LangSmith traces
  • With standalone Python: only message.content is traced, reasoning is not visible

Both write correctly to Postgres checkpoints — I verified this in the database directly.

Is this expected behavior, or is there a way to get the same tracing in standalone mode?

Hello @DannyWhyze Welcome to Langchain Community,

Before blaming LangSmith or langgraph up, I’d confirm reasoning actually ran in the standalone run you’re comparing, with the same model, kwargs, and prompt.

After ainvoke:

last = result["messages"][-1]
print(last.additional_kwargs)
print(last.content_blocks)
  • Nothing here → reasoning wasn’t triggered. Check model + thinking/reasoning params, and that your script loads the same .env as langgraph up.
  • Present here but missing in LangSmith → compare the LLM child run (not the graph root), use Messages view (M), ensure LANGSMITH_TRACING=true, pass thread_id, and try LC_OUTPUT_VERSION=v1.

To close this out, share those prints plus model/kwargs from both setups and the LLM child-run output from each trace. It will be really helpful if you can share the actual trace as well.