Thanks very much for the reply. It seems part of the problem (maybe) is that I didn't have the main htcondor binaries installed, just the python bindings. I assumed the python bindings installed all the necessary dependencies since
* I'm able to submit and successfullyÂcomplete jobs with just the bindings as long as I explicitlyÂsupply the host to the Collector() constructor.
  * Setting _CONDOR_COLLECTOR_HOST doesn't seem to affect the need forÂthisÂ- it has to be explicitlyÂset.
However, even though condor sees my token, it seemingly tries to run the job as a different user, even if I try to force token auth:
... which is really odd, since clearly the token *does* work when just the python bindingsÂare installed.
Do I have to have the main condor binaries installed to use the python libs? I'd prefer to avoid that if possible
I tested the code you provided *without* the main htcondor binaries installed to see if it changed behavior from what I've observed but there's no change for me (see below)
In [1]: import os
In [2]: os.environ["_CONDOR_COLLECTOR_HOST"] = "htcondor-mini:9618"
In [3]: import htcondor2
/usr/local/lib/python3.12/site-packages/htcondor2/__init__.py:27: UserWarning: The environment variable CONDOR_CONFIG is unset and none of the default locations contain a condor_config file. Using /dev/null, instead.
 _warnings.warn(message)
In [4]: schedd = htcondor2.Schedd()
---------------------------------------------------------------------------
HTCondorException             Traceback (most recent call last)
Cell In[4], line 1
----> 1 schedd = htcondor2.Schedd()
File /usr/local/lib/python3.12/site-packages/htcondor2/_schedd.py:114, in Schedd.__init__(self, location)
  112 if location is None:
  113   c = Collector()
--> 114 Â Â location = c.locate(DaemonType.Schedd)
  116 if not isinstance(location, classad.ClassAd):
  117   raise TypeError("location must be a ClassAd")
File /usr/local/lib/python3.12/site-packages/htcondor2/_collector.py:179, in Collector.locate(self, daemon_type, name)
  176     return None
  177   return list[0]
--> 179 return _collector_locate_local(self, self._handle, int(daemon_type))
HTCondorException: Unable to locate local daemon.
In [5]: collector = htcondor2.Collector()
In [7]: schedd_ad = collector.locate(htcondor2.DaemonTypes.Schedd)
---------------------------------------------------------------------------
HTCondorException             Traceback (most recent call last)
Cell In[7], line 1
----> 1 schedd_ad = collector.locate(htcondor2.DaemonTypes.Schedd)
File /usr/local/lib/python3.12/site-packages/htcondor2/_collector.py:179, in Collector.locate(self, daemon_type, name)
  176     return None
  177   return list[0]
--> 179 return _collector_locate_local(self, self._handle, int(daemon_type))
HTCondorException: Unable to locate local daemon.
In [8]: collector = htcondor2.Collector(os.environ["_CONDOR_COLLECTOR_HOST"])
In [9]: schedd_ad = collector.locate(htcondor2.DaemonTypes.Schedd)
In [10]: schedd_ad["MyAddress"]
Out[10]: '<
172.18.0.5:9618?addrs=172.18.0.5-9618&alias=36956b0aed50&noUDP&sock=schedd_21_fb94>'
In [12]: sub = htcondor2.Submit({
  ...:   "executable": "/bin/sleep",
  ...:   "initialdir": "/tmp",
  ...:   "arguments": "30",
  ...:   "output": "/tmp/sleep.out",
  ...:   "error": "/tmp/sleep.err",
  ...:   "log": "/tmp/sleep.log",
  ...: })
In [14]: schedd = htcondor2.Schedd(schedd_ad)
In [15]: clid = schedd.submit(sub)
In [16]: clid.cluster()
Out[16]: 3
```