# Can I manually set the thread ID when copying a thread?

**URL:** <https://forum.langchain.com/t/can-i-manually-set-the-thread-id-when-copying-a-thread/1399>\
**Category:** LangGraph\
**Tags:** python-help\
**Created:** [August 29, 2025, 7:19am UTC](https://forum.langchain.com/t/can-i-manually-set-the-thread-id-when-copying-a-thread/1399 "2025-08-29T07:19:39Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![atharv-honestly](https://yyz1.discourse-cdn.com/flex007/user_avatar/forum.langchain.com/atharv-honestly/32/343_2.png) [@atharv-honestly](https://forum.langchain.com/u/atharv-honestly)\
**Post date:** [August 29, 2025, 7:19am UTC](https://forum.langchain.com/t/can-i-manually-set-the-thread-id-when-copying-a-thread/1399/1 "2025-08-29T07:19:39Z")

</div>

Hi everyone,

I’m using the `client.threads.copy(thread_id)` method:

```auto
# Creates new thread and returns it
copied_thread = await client.threads.copy(thread_id)

# Grab the copied thread ID
actual_new_thread_id = copied_thread["thread_id"]

# Now check the copied thread state
new_thread_state = await client.threads.get_state(thread_id=actual_new_thread_id)

```

This works fine, but my question is:  
Is there a way to **manually provide the new thread ID** instead of always relying on the one returned by `copy`?

Basically, I want to copy a thread but control the ID of the resulting thread (e.g., to integrate with my own system where I already have an ID scheme).

Is this supported, or is the thread ID always auto-generated by the API?

Thanks!
